[java-idp-oidc] branch main updated: Take response_mode into account also for error messages from authorize-endpoint.
Henri Mikkonen
henri.mikkonen at iki.fi
Sun Mar 21 21:19:56 UTC 2021
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=d5411d750cb30b480895abe8d91ae5b994964dac
The following commit(s) were added to refs/heads/main by this push:
new d5411d75 Take response_mode into account also for error messages from authorize-endpoint.
d5411d75 is described below
commit d5411d750cb30b480895abe8d91ae5b994964dac
Author: Henri Mikkonen <henri.mikkonen at iki.fi>
AuthorDate: Sun Mar 21 23:18:03 2021 +0200
Take response_mode into account also for error messages from authorize-endpoint.
The following rules were not followed before for error messages:
implicit: https://openid.net/specs/oauth-v2-multiple-response-types-1_0.html#id_token
hybrid: https://openid.net/specs/oauth-v2-multiple-response-types-1_0.html#rfc.section.5
---
.../impl/BuildAuthenticationErrorResponseFromEvent.java | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/profile/impl/BuildAuthenticationErrorResponseFromEvent.java b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/profile/impl/BuildAuthenticationErrorResponseFromEvent.java
index 2fcd354c..14ead389 100644
--- a/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/profile/impl/BuildAuthenticationErrorResponseFromEvent.java
+++ b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/profile/impl/BuildAuthenticationErrorResponseFromEvent.java
@@ -22,9 +22,12 @@ import java.net.URI;
import org.opensaml.profile.context.EventContext;
import org.opensaml.profile.context.ProfileRequestContext;
import com.nimbusds.oauth2.sdk.ErrorObject;
+import com.nimbusds.oauth2.sdk.ResponseMode;
+import com.nimbusds.oauth2.sdk.ResponseType;
import com.nimbusds.openid.connect.sdk.AuthenticationErrorResponse;
import net.shibboleth.idp.plugin.oidc.op.profile.context.navigate.DefaultRequestResponseModeLookupFunction;
+import net.shibboleth.idp.plugin.oidc.op.profile.context.navigate.DefaultRequestResponseTypeLookupFunction;
import net.shibboleth.idp.plugin.oidc.op.profile.context.navigate.DefaultRequestStateLookupFunction;
import net.shibboleth.idp.plugin.oidc.op.profile.context.navigate.ValidatedRedirectURILookupFunction;
@@ -44,9 +47,18 @@ public class BuildAuthenticationErrorResponseFromEvent
// No validated redirect uri to return reply to.
return null;
}
+ final ResponseMode defaultResponseMode =
+ new DefaultRequestResponseModeLookupFunction().apply(profileRequestContext);
+ final ResponseType responseType = new DefaultRequestResponseTypeLookupFunction().apply(profileRequestContext);
+ final ResponseMode responseMode;
+ if (responseType != null && (responseType.impliesHybridFlow() || responseType.impliesImplicitFlow())) {
+ responseMode = defaultResponseMode == null ? ResponseMode.FRAGMENT :
+ defaultResponseMode == ResponseMode.QUERY ? ResponseMode.FRAGMENT : defaultResponseMode;
+ } else {
+ responseMode = defaultResponseMode;
+ }
return new AuthenticationErrorResponse(redirectURI, error,
- new DefaultRequestStateLookupFunction().apply(profileRequestContext),
- new DefaultRequestResponseModeLookupFunction().apply(profileRequestContext));
+ new DefaultRequestStateLookupFunction().apply(profileRequestContext), responseMode);
}
}
\ No newline at end of file
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list