Skip to content

Commit 7277c35

Browse files
committed
Update
1 parent b0da045 commit 7277c35

File tree

7 files changed

+56
-87
lines changed

7 files changed

+56
-87
lines changed

src/main/java/com/authlete/jaxrs/server/api/vci/BatchCredentialEndpoint.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import com.authlete.jaxrs.server.util.CredentialUtil;
3838
import com.authlete.jaxrs.server.util.ExceptionUtil;
3939
import com.authlete.jaxrs.server.util.ResponseUtil;
40+
import com.authlete.jaxrs.server.util.StringUtil;
4041

4142

4243
@Path("/api/batch_credential")
@@ -59,8 +60,12 @@ public Response post(@Context HttpServletRequest request,
5960
final CredentialRequestInfo[] credential =
6061
credentialBatchParse(api, requestContent, accessToken);
6162

62-
final CredentialIssuanceOrder[] orders =
63-
CredentialUtil.toOrder(introspection, credential);
63+
final CredentialIssuanceOrder[] orders;
64+
try {
65+
orders = CredentialUtil.toOrder(introspection, credential);
66+
} catch (final CredentialUtil.UnknownCredentialFormatException e) {
67+
return ResponseUtil.badRequestJson(e.getJsonError());
68+
}
6469

6570
// Issue
6671
return credentialIssue(api, orders, accessToken);

src/main/java/com/authlete/jaxrs/server/api/vci/CredentialEndpoint.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import com.authlete.jaxrs.server.util.CredentialUtil;
3838
import com.authlete.jaxrs.server.util.ExceptionUtil;
3939
import com.authlete.jaxrs.server.util.ResponseUtil;
40+
import com.authlete.jaxrs.server.util.StringUtil;
4041

4142

4243
@Path("/api/credential")
@@ -59,11 +60,11 @@ public Response post(@Context HttpServletRequest request,
5960
final CredentialRequestInfo credential =
6061
credentialSingleParse(api, requestContent, accessToken);
6162

62-
final CredentialIssuanceOrder order =
63-
CredentialUtil.toOrder(introspection, credential);
64-
if(order == null)
65-
{
66-
return ExceptionUtil.badRequest(String.format("Unsupported credential format %s.", formatId));
63+
final CredentialIssuanceOrder order;
64+
try {
65+
order = CredentialUtil.toOrder(introspection, credential);
66+
} catch (final CredentialUtil.UnknownCredentialFormatException e) {
67+
return ResponseUtil.badRequestJson(e.getJsonError());
6768
}
6869

6970
// Issue

src/main/java/com/authlete/jaxrs/server/api/vci/DeferredCredentialEndpoint.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import com.authlete.jaxrs.server.util.CredentialUtil;
3838
import com.authlete.jaxrs.server.util.ExceptionUtil;
3939
import com.authlete.jaxrs.server.util.ResponseUtil;
40+
import com.authlete.jaxrs.server.util.StringUtil;
4041

4142

4243
@Path("/api/deferred_credential")
@@ -59,12 +60,16 @@ public Response post(@Context HttpServletRequest request,
5960
final CredentialRequestInfo credential =
6061
credentialDeferredParse(api, requestContent, accessToken);
6162

62-
final CredentialIssuanceOrder order =
63-
CredentialUtil.toOrder(introspection, credential);
63+
final CredentialIssuanceOrder order;
64+
try {
65+
order = CredentialUtil.toOrder(introspection, credential);
66+
} catch (final CredentialUtil.UnknownCredentialFormatException e) {
67+
return ResponseUtil.badRequest(e.getJsonError());
68+
}
6469

6570
if (order.isIssuanceDeferred())
6671
{
67-
return ResponseUtil.badRequestJson("{\"error\": \"issuance_pending\"");
72+
return ResponseUtil.badRequestJson(StringUtil.toJsonError("issuance_pending"));
6873
}
6974

7075
// Issue

src/main/java/com/authlete/jaxrs/server/api/vci/JWTIssuerMetadataEndpoint.java

Lines changed: 0 additions & 70 deletions
This file was deleted.
Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
package com.authlete.jaxrs.server.util;
22

33

4-
import java.util.Arrays;
4+
import java.util.Collection;
5+
import java.util.LinkedList;
56
import com.authlete.common.dto.CredentialIssuanceOrder;
67
import com.authlete.common.dto.CredentialRequestInfo;
78
import com.authlete.common.dto.IntrospectionResponse;
@@ -12,12 +13,13 @@ public class CredentialUtil
1213
{
1314
public static CredentialIssuanceOrder toOrder(final IntrospectionResponse introspection,
1415
final CredentialRequestInfo info)
16+
throws UnknownCredentialFormatException
1517
{
1618
final String formatId = info.getFormat();
1719
final OrderFormat format = OrderFormat.byId(formatId);
1820
if (format == null)
1921
{
20-
throw ExceptionUtil.badRequestException(String.format("Unsupported credential format %s.", formatId));
22+
throw new UnknownCredentialFormatException(String.format("Unsupported credential format %s.", formatId));
2123
}
2224

2325
return format.getProcessor()
@@ -27,9 +29,26 @@ public static CredentialIssuanceOrder toOrder(final IntrospectionResponse intros
2729

2830
public static CredentialIssuanceOrder[] toOrder(final IntrospectionResponse introspection,
2931
final CredentialRequestInfo[] infos)
32+
throws UnknownCredentialFormatException
3033
{
31-
return Arrays.stream(infos)
32-
.map(info -> toOrder(introspection, info))
33-
.toArray(CredentialIssuanceOrder[]::new);
34+
final Collection<CredentialIssuanceOrder> orders = new LinkedList<>();
35+
for(final CredentialRequestInfo info : infos)
36+
{
37+
orders.add(toOrder(introspection, info));
38+
}
39+
40+
return orders.toArray(new CredentialIssuanceOrder[0]);
41+
}
42+
43+
44+
public static class UnknownCredentialFormatException extends Exception {
45+
UnknownCredentialFormatException(final String message) {
46+
super(message);
47+
}
48+
49+
public String getJsonError()
50+
{
51+
return StringUtil.toJsonError(this.getMessage());
52+
}
3453
}
3554
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package com.authlete.jaxrs.server.util;
2+
3+
public class StringUtil {
4+
5+
public static String toJsonError(final String error)
6+
{
7+
return String.format("{\"error\": \"%s\"", error);
8+
}
9+
10+
}

src/main/webapp/WEB-INF/web.xml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
com.authlete.jaxrs.server.api.vci.DeferredCredentialEndpoint,
4040
com.authlete.jaxrs.server.api.vci.CredentialOfferEndpoint,
4141
com.authlete.jaxrs.server.api.vci.CredentialOfferIssueEndpoint,
42-
com.authlete.jaxrs.server.api.vci.JWKSetMetadataEndpoint,
42+
com.authlete.jaxrs.server.api.vci.CredentialJWKSetEndpoint,
4343
com.authlete.jaxrs.server.api.ClientRegistrationEndpoint,
4444
com.authlete.jaxrs.server.api.ConfigurationEndpoint,
4545
com.authlete.jaxrs.server.api.FederationConfigurationEndpoint,
@@ -86,7 +86,6 @@
8686
<filter-mapping>
8787
<filter-name>API</filter-name>
8888
<url-pattern>/api/*</url-pattern>
89-
<url-pattern>/.well-known/jwks.json</url-pattern>
9089
<url-pattern>/.well-known/openid-configuration</url-pattern>
9190
<url-pattern>/.well-known/openid-credential-issuer</url-pattern>
9291
<url-pattern>/.well-known/openid-federation</url-pattern>

0 commit comments

Comments
 (0)