Class OAuth2CredentialSource.Builder

    • Constructor Detail

      • Builder

        private Builder​(URL tokenEndpointUrl)
    • Method Detail

      • grantScopes

        public OAuth2CredentialSource.Builder grantScopes​(String scopes)
        The scopes to grant access.
        Parameters:
        scopes - the scopes to grant access.
        Returns:
        this instance
      • useResourceOwnerPassword

        public OAuth2CredentialSource.Builder useResourceOwnerPassword​(String userName,
                                                                       String password)

        Configure OAuth2 Resource Owner Password Grant Type as defined by the OAuth2 specification.

        When using this grant type, make sure to also configure one of the supported client authentication methods. For instance, make sure to provide client credentials via clientCredentials(String, String).

        Parameters:
        userName - the resource owner's user name
        password - the resource owner's password
        Returns:
        this instance.
      • clientCredentials

        public OAuth2CredentialSource.Builder clientCredentials​(String id,
                                                                String secret)

        Configure OAuth2 Client Credentials Grant Type as defined by the OAuth2 specification.

        Parameters:
        id - the client id
        secret - the client secret
        Returns:
        this instance.
      • useResourceOwnerMaskedPassword

        public OAuth2CredentialSource.Builder useResourceOwnerMaskedPassword​(String userName,
                                                                             String maskedPassword,
                                                                             String algorithm,
                                                                             String initialKeyMaterial,
                                                                             int iterationCount,
                                                                             String salt,
                                                                             String initializationVector)
                                                                      throws NoSuchAlgorithmException,
                                                                             InvalidKeySpecException

        Configure OAuth2 Resource Owner Masked Password Grant Type as defined by the OAuth2 specification.

        When using this grant type, make sure to also configure one of the supported client authentication methods. For instance, make sure to provide client credentials via clientCredentials(String, String).

        Parameters:
        userName - the resource owner's user name
        maskedPassword - the masked password, as a string (must not be null)
        algorithm - the algorithm (can be null, default:"masked-MD5-DES")
        initialKeyMaterial - the initial key material, as a string(can be null, default:"somearbitrarycrazystringthatdoesnotmatter")
        iterationCount - the iteration count, as an integer (must not be less than 1)
        salt - the salt, as a string (must not be null)
        initializationVector - the initialization vector, as a string (can be null)
        Returns:
        this instance.
        Throws:
        NoSuchAlgorithmException - if algorithm used to get PasswordFactory instance is invalid
        InvalidKeySpecException - if invalid spec is used to generate password
      • maskedClientCredentials

        public OAuth2CredentialSource.Builder maskedClientCredentials​(String id,
                                                                      String maskedSecret,
                                                                      String algorithm,
                                                                      String initialKeyMaterial,
                                                                      int iterationCount,
                                                                      String salt,
                                                                      String initializationVector)
                                                               throws NoSuchAlgorithmException,
                                                                      InvalidKeySpecException

        Configure OAuth2 Masked Client Credentials Grant Type as defined by the OAuth2 specification.

        Parameters:
        id - the client id
        maskedSecret - the masked password, as a string (must not be null)
        algorithm - the algorithm (can be null, default:"masked-MD5-DES")
        initialKeyMaterial - the initial key material, as a string(can be null, default:"somearbitrarycrazystringthatdoesnotmatter")
        iterationCount - the iteration count, as an integer (must not be less than 1)
        salt - the salt, as a string (must not be null)
        initializationVector - the initialization vector, as a string (can be null)
        Returns:
        this instance.
        Throws:
        NoSuchAlgorithmException - if algorithm used to get PasswordFactory instance is invalid
        InvalidKeySpecException - if invalid spec is used to generate password
      • configureClientCredentialsParameters

        private void configureClientCredentialsParameters​(Map<String,​String> parameters,
                                                          String id,
                                                          char[] secret)
      • configureResourceOwnerCredentialsParameters

        private void configureResourceOwnerCredentialsParameters​(Map<String,​String> parameters,
                                                                 String userName,
                                                                 String password)
      • configureAuthenticationHandler

        private void configureAuthenticationHandler​(Consumer<Map<String,​String>> handler)