com.sap.core.jpaas.security.auth.api

## Interface AuthenticationService

-     public interface AuthenticationService

  An interface used by LoginContextFactory to access login context provider implementations.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `LoginContext` | `createLoginContext()` Construct a prepared login context for the configuration of the current application.
    `LoginContext` | `createLoginContext(String authenticationStack)` Construct a login context for an already configured authentication stack with the given name.
    `LoginContext` | `createLoginContext(String authenticationStack, CallbackHandler callbackHandler)` Construct a login context for an already configured authentication stack with the given name and call-back handler.
    `LoginContext` | `createLoginContext(String authenticationStack, Subject subject)` Construct a login context for an already configured authentication stack with the given name and a Subject object.
    `LoginContext` | `createLoginContext(String authenticationStack, Subject subject, CallbackHandler callbackHandler)` Construct a login context using the given authentication configuration and call-back handler.
    `LoginContext` | `createLoginContext(String authenticationStack, Subject subject, CallbackHandler callbackHandler, Configuration configuration)` Construct a login context using the given authentication configuration and call-back handler.
    `Configuration` | `getConfiguration()` Returns the login configuration associated to the current request processing or the default installed configuration.

- - ### Method Detail

    - #### createLoginContext

          LoginContext createLoginContext()
                                          throws LoginException

      Construct a prepared login context for the configuration of the current application.
      Returns:
        - an instance of LoginContext that can be used for authentication
      Throws:
        `LoginException` - - thrown in case the login context cannot be constructed, e.g. there is no current application, or the authentication stack is unknown.

    - #### createLoginContext

          LoginContext createLoginContext(String authenticationStack)
                                          throws LoginException

      Construct a login context for an already configured authentication stack with the given name.
      Parameters:
        `authenticationStack` - - the name of the configuration for the authentication stack.
      Returns:
        - an instance of LoginContext that can be used for authentication
      Throws:
        `LoginException` - - thrown in case the login context cannot be constructed, e.g. the authentication stack is unknown.

    - #### createLoginContext

          LoginContext createLoginContext(String authenticationStack,
                                        CallbackHandler callbackHandler)
                                          throws LoginException

      Construct a login context for an already configured authentication stack with the given name and call-back handler.
      Parameters:
        `authenticationStack` - - the name of the configuration for the authentication stack.
        `callbackHandler` - - an instance of JAAS call-back handler for the use of the authentication process. It can be `null` in case the current thread of control processes a request with associated call-back hander.
      Returns:
        - an instance of LoginContext that can be used for authentication
      Throws:
        `LoginException` - - thrown in case the login context cannot be constructed, e.g. the authentication stack is unknown.

    - #### createLoginContext

          LoginContext createLoginContext(String authenticationStack,
                                        Subject subject)
                                          throws LoginException

      Construct a login context for an already configured authentication stack with the given name and a Subject object.
      Parameters:
        `authenticationStack` - - the name of the configuration for the authentication stack.
        `subject` - - the subject to authenticate. If `null` the authentication framework will use a new one.
      Returns:
        - an instance of LoginContext that can be used for authentication
      Throws:
        `LoginException` - - thrown in case the login context cannot be constructed, e.g. the authentication stack is unknown.

    - #### createLoginContext

          LoginContext createLoginContext(String authenticationStack,
                                        Subject subject,
                                        CallbackHandler callbackHandler)
                                          throws LoginException

      Construct a login context using the given authentication configuration and call-back handler.
      Parameters:
        `authenticationStack` - - the name of the authentication stack, used only for logging purposes
        `subject` - - the subject to authenticate. If `null` the authentication framework will use a new one.
        `callbackHandler` - - an instance of JAAS call-back handler for the use of the authentication process. It can be null in case the current thread of control processes a request with associated call-back hander.
      Returns:
        - an instance of LoginContext that can be used for authentication
      Throws:
        `LoginException` - - thrown in case the login context cannot be constructed, e.g. the authentication stack is unknown.

    - #### createLoginContext

          LoginContext createLoginContext(String authenticationStack,
                                        Subject subject,
                                        CallbackHandler callbackHandler,
                                        Configuration configuration)
                                          throws LoginException

      Construct a login context using the given authentication configuration and call-back handler.
      Parameters:
        `authenticationStack` - - the name of the authentication stack, used only for logging purposes
        `subject` - - the subject to authenticate. If `null` the authentication framework will use a new one.
        `callbackHandler` - - an instance of JAAS call-back handler for the use of the authentication process. It can be null in case the current thread of control processes a request with associated call-back hander.
        `configuration` - - the configuration of authentication stack to be used.
      Returns:
        - an instance of LoginContext that can be used for authentication
      Throws:
        `LoginException` - - thrown in case the login context cannot be constructed, e.g. the authentication stack is unknown.

    - #### getConfiguration

          Configuration getConfiguration()
                                         throws LoginException

      Returns the login configuration associated to the current request processing or the default installed configuration.
      Returns:
        - the login configuration
      Throws:
        `LoginException` - - thrown in case the configuration cannot be obtained

Copyright © 2020 SAP. All Rights Reserved.