[java-idp-oidc] branch main updated: JOIDC-119 - userinfo error response for revoked token should be invalid_token
Henri Mikkonen
henri.mikkonen at iki.fi
Fri Sep 2 12:52:08 UTC 2022
This is an automated email from the git hooks/post-receive script.
hjmikkon pushed a commit to branch main
in repository java-idp-oidc.
View the commit online:
http://git.shibboleth.net/view/?p=java-idp-oidc.git;a=commit;h=034776aef62c387a71035dbb6e33411fd0f88f62
The following commit(s) were added to refs/heads/main by this push:
new 034776ae JOIDC-119 - userinfo error response for revoked token should be invalid_token
034776ae is described below
commit 034776aef62c387a71035dbb6e33411fd0f88f62
Author: Henri Mikkonen <henri.mikkonen at iki.fi>
AuthorDate: Fri Sep 2 15:51:20 2022 +0300
JOIDC-119 - userinfo error response for revoked token should be invalid_token
https://shibboleth.atlassian.net/browse/JOIDC-119
Fixed the error response code and updated tests.
---
.../plugin/oidc/op/userinfo/profile/impl/ValidateAccessToken.java | 4 ++--
.../idp/flows/oidc/abstract-api/oidc-abstract-api-beans.xml | 2 ++
.../shibboleth/idp/plugin/oidc/op/profile/flow/UserInfoTest.java | 7 ++++---
.../oidc/op/userinfo/profile/impl/ValidateAccessTokenTest.java | 4 ++--
4 files changed, 10 insertions(+), 7 deletions(-)
diff --git a/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/userinfo/profile/impl/ValidateAccessToken.java b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/userinfo/profile/impl/ValidateAccessToken.java
index edc5e804..b7a6d6fa 100644
--- a/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/userinfo/profile/impl/ValidateAccessToken.java
+++ b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/userinfo/profile/impl/ValidateAccessToken.java
@@ -103,7 +103,7 @@ public class ValidateAccessToken extends AbstractOIDCUserInfoValidationResponseA
if (!(tokenClaims instanceof AccessTokenClaimsSet) || tokenClaims.getClaimsSet() == null) {
log.error("{} Claims validation failed, unable to locate access token claims set to validate",
getLogPrefix());
- ActionSupport.buildEvent(profileRequestContext, OidcEventIds.INVALID_GRANT);
+ ActionSupport.buildEvent(profileRequestContext, OidcEventIds.INVALID_ACCESS_TOKEN);
return;
}
@@ -112,7 +112,7 @@ public class ValidateAccessToken extends AbstractOIDCUserInfoValidationResponseA
claimsValidator.validate(tokenClaims.getClaimsSet(), profileRequestContext);
} catch (final JWTValidationException e) {
log.warn("{} Claims validation failed, token is invalid: {}", getLogPrefix(), e.getMessage());
- ActionSupport.buildEvent(profileRequestContext, OidcEventIds.INVALID_GRANT);
+ ActionSupport.buildEvent(profileRequestContext, OidcEventIds.INVALID_ACCESS_TOKEN);
return;
}
diff --git a/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/oidc/abstract-api/oidc-abstract-api-beans.xml b/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/oidc/abstract-api/oidc-abstract-api-beans.xml
index 98b9e258..9ff55c96 100644
--- a/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/oidc/abstract-api/oidc-abstract-api-beans.xml
+++ b/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/oidc/abstract-api/oidc-abstract-api-beans.xml
@@ -42,6 +42,8 @@
value="#{T(com.nimbusds.oauth2.sdk.OAuth2Error).INVALID_GRANT}" />
<entry key="#{T(net.shibboleth.oidc.profile.core.OidcEventIds).INVALID_REDIRECT_URI}"
value="#{T(com.nimbusds.oauth2.sdk.OAuth2Error).INVALID_REQUEST}" />
+ <entry key="#{T(net.shibboleth.oidc.profile.core.OidcEventIds).INVALID_ACCESS_TOKEN}"
+ value="#{T(com.nimbusds.oauth2.sdk.token.BearerTokenError).INVALID_TOKEN}" />
<entry key="#{T(net.shibboleth.oidc.profile.core.OidcEventIds).REVOCATION_FAILED}"
value="#{T(com.nimbusds.oauth2.sdk.OAuth2Error).SERVER_ERROR}" />
diff --git a/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/flow/UserInfoTest.java b/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/flow/UserInfoTest.java
index ea4cd4fe..37efb494 100644
--- a/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/flow/UserInfoTest.java
+++ b/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/flow/UserInfoTest.java
@@ -40,6 +40,7 @@ import com.nimbusds.oauth2.sdk.OAuth2Error;
import com.nimbusds.oauth2.sdk.Scope;
import com.nimbusds.oauth2.sdk.auth.ClientAuthenticationMethod;
import com.nimbusds.oauth2.sdk.token.BearerAccessToken;
+import com.nimbusds.oauth2.sdk.token.BearerTokenError;
import com.nimbusds.openid.connect.sdk.UserInfoSuccessResponse;
import com.nimbusds.openid.connect.sdk.claims.ClaimsSet;
import com.nimbusds.openid.connect.sdk.claims.UserInfo;
@@ -274,7 +275,7 @@ public class UserInfoTest extends AbstractOidcApiFlowTest {
storeMetadata(storageService, clientId, "mockSecret", scope);
request.addHeader("Authorization", token.toAuthorizationHeader());
final FlowExecutionResult result = flowExecutor.launchExecution(FLOW_ID, null, externalContext);
- assertErrorCode(result, OAuth2Error.INVALID_GRANT_CODE);
+ assertErrorCode(result, BearerTokenError.INVALID_TOKEN.getCode());
}
@Test
@@ -287,7 +288,7 @@ public class UserInfoTest extends AbstractOidcApiFlowTest {
storeMetadata(storageService, clientId, "mockSecret", scope);
request.addHeader("Authorization", token.toAuthorizationHeader());
final FlowExecutionResult result = flowExecutor.launchExecution(FLOW_ID, null, externalContext);
- assertErrorCode(result, OAuth2Error.INVALID_GRANT_CODE);
+ assertErrorCode(result, BearerTokenError.INVALID_TOKEN.getCode());
}
@Test
@@ -299,7 +300,7 @@ public class UserInfoTest extends AbstractOidcApiFlowTest {
storeMetadata(storageService, clientId, "mockSecret", scope);
request.addHeader("Authorization", token.toAuthorizationHeader());
final FlowExecutionResult result = flowExecutor.launchExecution(FLOW_ID, null, externalContext);
- assertErrorCode(result, OAuth2Error.INVALID_GRANT_CODE);
+ assertErrorCode(result, BearerTokenError.INVALID_TOKEN.getCode());
}
}
diff --git a/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/userinfo/profile/impl/ValidateAccessTokenTest.java b/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/userinfo/profile/impl/ValidateAccessTokenTest.java
index c613e05f..2ee902c4 100644
--- a/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/userinfo/profile/impl/ValidateAccessTokenTest.java
+++ b/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/userinfo/profile/impl/ValidateAccessTokenTest.java
@@ -117,7 +117,7 @@ public class ValidateAccessTokenTest extends BaseOIDCResponseActionTest {
respCtx.setAuthorizationGrantClaimsSet(claims);
final Event event = action.execute(requestCtx);
- ActionTestingSupport.assertEvent(event, OidcEventIds.INVALID_GRANT);
+ ActionTestingSupport.assertEvent(event, OidcEventIds.INVALID_ACCESS_TOKEN);
}
/**
@@ -146,7 +146,7 @@ public class ValidateAccessTokenTest extends BaseOIDCResponseActionTest {
respCtx.setAuthorizationGrantClaimsSet(claims);
final Event event = action.execute(requestCtx);
- ActionTestingSupport.assertEvent(event, OidcEventIds.INVALID_GRANT);
+ ActionTestingSupport.assertEvent(event, OidcEventIds.INVALID_ACCESS_TOKEN);
}
private class ClaimsValidatorLookup implements Function<ProfileRequestContext,ClaimsValidator> {
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list