Class DefaultUserInfoResponseDecoder
java.lang.Object
net.shibboleth.shared.component.AbstractInitializableComponent
net.shibboleth.idp.plugin.authn.oidc.rp.decoding.impl.AbstractJSONResponseDecoderFunction<com.nimbusds.openid.connect.sdk.UserInfoResponse>
net.shibboleth.idp.plugin.authn.oidc.rp.decoding.impl.DefaultUserInfoResponseDecoder
- All Implemented Interfaces:
Function<org.apache.hc.core5.http.ClassicHttpResponse,,com.nimbusds.openid.connect.sdk.UserInfoResponse> Component,DestructableComponent,InitializableComponent
public class DefaultUserInfoResponseDecoder
extends AbstractJSONResponseDecoderFunction<com.nimbusds.openid.connect.sdk.UserInfoResponse>
Response decoder for UserInfo responses. Supports both plain JSON Object and JWT responses.
Importantly,the decoder *must not ever* decode a JWT response as a plain response type, otherwise the signature check may not be performed downstream - although other validation for the plain object type should. That is, we can not rely solely on the content-type header in-case of content-type header injection attacks — the logic that builds either the JWT or plain response should fail, or at least present an invalid UserInfo response token.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final org.slf4j.LoggerClass logger.static final StringThe UserInfo response header that carries error information. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncom.nimbusds.openid.connect.sdk.UserInfoResponseapply(org.apache.hc.core5.http.ClassicHttpResponse httpResponse) Methods inherited from class net.shibboleth.idp.plugin.authn.oidc.rp.decoding.impl.AbstractJSONResponseDecoderFunction
doInitialize, getObjectMapper, setObjectMapperMethods inherited from class net.shibboleth.shared.component.AbstractInitializableComponent
checkComponentActive, checkSetterPreconditions, destroy, doDestroy, ifDestroyedThrowDestroyedComponentException, ifInitializedThrowUnmodifiabledComponentException, ifNotInitializedThrowUninitializedComponentException, initialize, isDestroyed, isInitialized
-
Field Details
-
USERINFO_ERROR_RESPONSE_HEADER
The UserInfo response header that carries error information.- See Also:
-
log
@Nonnull private final org.slf4j.Logger logClass logger.
-
-
Constructor Details
-
DefaultUserInfoResponseDecoder
public DefaultUserInfoResponseDecoder()
-
-
Method Details
-
apply
public com.nimbusds.openid.connect.sdk.UserInfoResponse apply(@Nullable org.apache.hc.core5.http.ClassicHttpResponse httpResponse)
-