Class AbstractClientCredentialsClient

    • Field Detail

      • scopeToPublisherMap

        protected final java.util.Map<java.lang.String,​org.reactivestreams.Publisher<TokenResponse>> scopeToPublisherMap
    • Constructor Detail

      • AbstractClientCredentialsClient

        public AbstractClientCredentialsClient​(@NonNull
                                               OauthClientConfiguration oauthClientConfiguration,
                                               @NonNull
                                               TokenEndpointClient tokenEndpointClient)
        Parameters:
        tokenEndpointClient - The token endpoint client
        oauthClientConfiguration - The client configuration
    • Method Detail

      • getName

        public java.lang.String getName()
        Returns:
        the bean's name;
      • requestToken

        @NonNull
        public org.reactivestreams.Publisher<TokenResponse> requestToken​(@Nullable
                                                                         java.lang.String scope)
        Specified by:
        requestToken in interface ClientCredentialsClient
        Parameters:
        scope - Requested scope values for the access token.
        Returns:
        Response of an authorization server to a valid client credentials request.
      • requestToken

        @NonNull
        public org.reactivestreams.Publisher<TokenResponse> requestToken​(@Nullable
                                                                         java.lang.String scope,
                                                                         boolean force)
        Specified by:
        requestToken in interface ClientCredentialsClient
        Parameters:
        scope - Requested scope values for the access token.
        force - true to invalidate the cached token response and fetch a new one
        Returns:
        Response of an authorization server to a valid client credentials request.
      • expirationDate

        protected java.util.Optional<java.util.Date> expirationDate​(@NonNull
                                                                    TokenResponse tokenResponse)
        Parameters:
        tokenResponse - Token Response
        Returns:
        The expiration date from the exp claim in the access token is a JWT or the expiration date calculated from the expiresIn
      • createTokenRequestContext

        protected abstract ClientCredentialsTokenRequestContext createTokenRequestContext​(@Nullable
                                                                                          java.lang.String scope)
        Parameters:
        scope - The requested scope for the client credentials request
        Returns:
        A client credentials token request context