Package com.suncode.pwfl.security
Interface Authenticator
- All Superinterfaces:
PostAuthenticationHandler
@Api
@Provides(Authenticator.class)
public interface Authenticator
extends PostAuthenticationHandler
Interfejs dostarczający możliwość implementacji zewnętrznego uwierzytelniania użytkowników.
- Author:
- Rafał Nowacki 2019-06-17
-
Method Summary
Modifier and TypeMethodDescriptionboolean
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 requestgetLogoutResponse
(javax.servlet.http.HttpServletRequest request) Pobiera logout responsegetName()
Nazwa aplikacji uwierzytelniającej.getNameIdFromLogoutRequest
(String encodedRequest) Wyciąga z Logout Requesta nazwe użytkownika zwróconą przez zewnętrzne uwierzytelnianiedefault 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żytkownikaboolean
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 requestboolean
validLogoutResponse
(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, String logoutResponse) Dekoduje, waliduje i sprawdza podpis (o ile jest wymagany) z logout responseMethods inherited from interface com.suncode.pwfl.security.PostAuthenticationHandler
afterSuccessLogIn, getExtraAuthVerifiers, getRedirections, getUserCreationStrategyDuringAuthentication
-
Method Details
-
getName
String getName()Nazwa aplikacji uwierzytelniającej. -
authenticate
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
Pobiera logout request- Parameters:
request
-- Returns:
- logout request
-
validLogoutRequest
boolean validLogoutRequest(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, String encodedRequest, @Nullable String userName) throws Exception Dekoduje, waliduje i sprawdza podpis (o ile jest wymagany) z logout request- Parameters:
request
-response
-encodedRequest
-userName
- nazwa zalogowanego użytkownika- Returns:
- true/false
- Throws:
Exception
-
getNameIdFromLogoutRequest
Wyciąga z Logout Requesta nazwe użytkownika zwróconą przez zewnętrzne uwierzytelnianie- Parameters:
encodedRequest
-- Returns:
- nazwa użytkownika
- Throws:
Exception
-
getLogoutResponse
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
-
allowExternalLogout
boolean allowExternalLogout()
-