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 TypeMethodDescriptionbooleanauthenticate(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 booleansendLogoutRequest(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.voidsendLogoutResponse(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, String logoutRequest, SSOLogoutStatusCode status) Wysyła do SSO odpowiedź o wylogowaniu użytkownikabooleanvalidLogoutRequest(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 requestbooleanvalidLogoutResponse(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()
-