Class DefaultUserInfoResponseDecoder

  • All Implemented Interfaces:
    Function<org.apache.http.HttpResponse,​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 Detail

      • USERINFO_ERROR_RESPONSE_HEADER

        @Nonnull
        public static final String USERINFO_ERROR_RESPONSE_HEADER
        The UserInfo response header that carries error information.
        See Also:
        Constant Field Values
      • log

        @Nonnull
        private final org.slf4j.Logger log
        Class logger.
    • Constructor Detail

      • DefaultUserInfoResponseDecoder

        public DefaultUserInfoResponseDecoder()
    • Method Detail

      • apply

        public com.nimbusds.openid.connect.sdk.UserInfoResponse apply​(@Nonnull
                                                                      org.apache.http.HttpResponse httpResponse)