Interface Authenticator


@Api @Provides(Authenticator.class) public interface Authenticator
Interfejs dostarczający możliwość implementacji zewnętrznego uwierzytelniania użytkowników.
Author:
Rafał Nowacki 2019-06-17
  • Method Summary

    Modifier and Type
    Method
    Description
    default void
    afterSuccessLogIn(javax.servlet.http.HttpServletRequest request)
    Wykona się po prawidłowym zalogowaniu w PlusWorkflow
    authenticate(javax.servlet.http.HttpServletRequest request)
    Uwierzytelnianie użytkownika na podstawie danych zawartych w parametrze request.
    Przycisk dostępny na stronie logowania, który umożliwia wywołanie uwierzytelniania w zewnętrznej aplikacji.
    getLogoutRequest(javax.servlet.http.HttpServletRequest request)
    Pobiera logout request
    getLogoutResponse(javax.servlet.http.HttpServletRequest request)
    Pobiera logout response
    Nazwa aplikacji uwierzytelniającej.
    Linki na które użytkownik zostanie przekierowny w przypadku akcji z enuma RedirectEvent
    Zwraca informację o tym w jaki sposób utworzyć użytkownika po zalogowaniu jeżeli nie istnieje w systemie PlusWorkflow
    default boolean
    sendLogoutRequest(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, String userName)
    Wysyłanie request'a do SSO informującego, że chcemy wylogować użytkownika w systemie PlusWorkflow Jeżeli request zostanie wysłany, to wylogowanie zostanie przerwane i będzie wznowione po odpowiedzi z SSO na endpoint authentication/sso/logout Jeżeli nie robimy obsługi SLO to zwracamy false.
    void
    sendLogoutResponse(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, String logoutRequest, SSOLogoutStatusCode status)
    Wysyła do SSO odpowiedź o wylogowaniu użytkownika
    boolean
    validLogoutRequest(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, String encodedRequest, String userName)
    Dekoduje, waliduje i sprawdza podpis (o ile jest wymagany) z logout request
    boolean
    validLogoutResponse(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, String logoutResponse)
    Dekoduje, waliduje i sprawdza podpis (o ile jest wymagany) z logout response
  • Method Details

    • getName

      String getName()
      Nazwa aplikacji uwierzytelniającej.
    • authenticate

      AuthenticationResult authenticate(javax.servlet.http.HttpServletRequest request)
      Uwierzytelnianie użytkownika na podstawie danych zawartych w parametrze request.
      Parameters:
      request - Odpowiedź z logowania w zewnętrznej aplikacji.
      Returns:
      Informacja, czy system powinien uwierzytelnić użytkownika.
    • authenticationButtonDefinition

      AuthenticationButton authenticationButtonDefinition()
      Przycisk dostępny na stronie logowania, który umożliwia wywołanie uwierzytelniania w zewnętrznej aplikacji.
    • getLogoutRequest

      String getLogoutRequest(javax.servlet.http.HttpServletRequest request)
      Pobiera logout request
      Parameters:
      request -
      Returns:
      logout request
    • validLogoutRequest

      boolean validLogoutRequest(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, String encodedRequest, String userName) throws Exception
      Dekoduje, waliduje i sprawdza podpis (o ile jest wymagany) z logout request
      Parameters:
      request -
      response -
      encodedRequest -
      userName - nazwa użytkownika którego SSO chce wylogować
      Returns:
      true/false
      Throws:
      Exception
    • getLogoutResponse

      String getLogoutResponse(javax.servlet.http.HttpServletRequest request)
      Pobiera logout response
      Parameters:
      request -
      Returns:
      logout response
    • validLogoutResponse

      boolean validLogoutResponse(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, String logoutResponse) throws Exception
      Dekoduje, waliduje i sprawdza podpis (o ile jest wymagany) z logout response
      Parameters:
      request -
      response -
      logoutResponse -
      Returns:
      true/false - czy w SSO użytkownik został prawidłowo wylogowany
      Throws:
      Exception
    • sendLogoutResponse

      void sendLogoutResponse(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, String logoutRequest, SSOLogoutStatusCode status) throws Exception
      Wysyła do SSO odpowiedź o wylogowaniu użytkownika
      Parameters:
      request -
      response -
      logoutRequest -
      status - status wylogowania użytkownika
      Throws:
      Exception
    • sendLogoutRequest

      default boolean sendLogoutRequest(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, String userName) throws Exception
      Wysyłanie request'a do SSO informującego, że chcemy wylogować użytkownika w systemie PlusWorkflow Jeżeli request zostanie wysłany, to wylogowanie zostanie przerwane i będzie wznowione po odpowiedzi z SSO na endpoint authentication/sso/logout Jeżeli nie robimy obsługi SLO to zwracamy false.
      Parameters:
      request -
      response -
      userName - nazwa użytkownika którego chcemy wylogować w SSO
      Returns:
      Informacja, czy zapytanie o wylogowanie do SSO zostało wysłane
      Throws:
      Exception
    • afterSuccessLogIn

      default void afterSuccessLogIn(javax.servlet.http.HttpServletRequest request) throws com.coveo.saml.SamlException
      Wykona się po prawidłowym zalogowaniu w PlusWorkflow
      Parameters:
      request -
      Throws:
      com.coveo.saml.SamlException
    • getRedirections

      default Map<RedirectEvent,String> getRedirections()
      Linki na które użytkownik zostanie przekierowny w przypadku akcji z enuma RedirectEvent
    • getUserCreationStrategyDuringAuthentication

      default UserCreationStrategyDuringAuthentication getUserCreationStrategyDuringAuthentication()
      Zwraca informację o tym w jaki sposób utworzyć użytkownika po zalogowaniu jeżeli nie istnieje w systemie PlusWorkflow
      Returns:
      UserCreationStrategyDuringAuthentication