Class AzureAdWebAuthenticationPlugin
java.lang.Object
io.vertigo.vega.plugins.authentication.aad.AzureAdWebAuthenticationPlugin
- All Implemented Interfaces:
io.vertigo.core.node.component.CoreComponent,io.vertigo.core.node.component.Plugin,WebAuthenticationPlugin<com.microsoft.aad.msal4j.IAuthenticationResult>
public class AzureAdWebAuthenticationPlugin
extends Object
implements WebAuthenticationPlugin<com.microsoft.aad.msal4j.IAuthenticationResult>
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionAuthenticationResult<com.microsoft.aad.msal4j.IAuthenticationResult> doHandleCallback(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) Handle the callback request after login on the ssoio.vertigo.core.lang.Tuple<AuthenticationResult<com.microsoft.aad.msal4j.IAuthenticationResult>, jakarta.servlet.http.HttpServletRequest> doInterceptRequest(jakarta.servlet.http.HttpServletRequest httpRequest, jakarta.servlet.http.HttpServletResponse httpResponse) voiddoLogout(jakarta.servlet.http.HttpServletRequest httpRequest, jakarta.servlet.http.HttpServletResponse httpResponse, Optional<String> redirectUrlOpt) Handle the logout requestvoiddoRedirectToSso(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) Handle the redirect to the sso login pagestatic com.microsoft.aad.msal4j.IAuthenticationResultgetAuthSessionObject(jakarta.servlet.http.HttpServletRequest request) Returns the url for callbackReturn an optional external url of the application (if it is behind a firewall or a proxy)Returns the url for logoutgetRequestedUri(jakarta.servlet.http.HttpServletRequest httpRequest) Return the original request a user wanted before beeing redirected to the ssoUrl prefix of request directly handled by the pluginMap<String, BiFunction<jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse, io.vertigo.core.lang.Tuple<Boolean, jakarta.servlet.http.HttpServletRequest>>> Register additionnal handler for specific request necessary for the pluginUrl prefix of urls that are protected with this authentication pluginMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.vertigo.vega.impl.authentication.WebAuthenticationPlugin
resolveExternalUrl
-
Field Details
-
PRINCIPAL_SESSION_NAME
- See Also:
-
TOKEN_CACHE_SESSION_ATTRIBUTE
- See Also:
-
-
Constructor Details
-
AzureAdWebAuthenticationPlugin
-
-
Method Details
-
getUrlPrefix
Url prefix of urls that are protected with this authentication plugin- Specified by:
getUrlPrefixin interfaceWebAuthenticationPlugin<com.microsoft.aad.msal4j.IAuthenticationResult>- Returns:
- the prefix
-
getUrlHandlerPrefix
Url prefix of request directly handled by the plugin- Specified by:
getUrlHandlerPrefixin interfaceWebAuthenticationPlugin<com.microsoft.aad.msal4j.IAuthenticationResult>- Returns:
- the prefix
-
getCallbackUrl
Returns the url for callback- Specified by:
getCallbackUrlin interfaceWebAuthenticationPlugin<com.microsoft.aad.msal4j.IAuthenticationResult>- Returns:
- url for callback
-
getLogoutUrl
Returns the url for logout- Specified by:
getLogoutUrlin interfaceWebAuthenticationPlugin<com.microsoft.aad.msal4j.IAuthenticationResult>- Returns:
- url for logout
-
getExternalUrlOptional
Return an optional external url of the application (if it is behind a firewall or a proxy)- Specified by:
getExternalUrlOptionalin interfaceWebAuthenticationPlugin<com.microsoft.aad.msal4j.IAuthenticationResult>- Returns:
- the external url of the app : as seen by the end user
-
doInterceptRequest
public io.vertigo.core.lang.Tuple<AuthenticationResult<com.microsoft.aad.msal4j.IAuthenticationResult>,jakarta.servlet.http.HttpServletRequest> doInterceptRequest(jakarta.servlet.http.HttpServletRequest httpRequest, jakarta.servlet.http.HttpServletResponse httpResponse) - Specified by:
doInterceptRequestin interfaceWebAuthenticationPlugin<com.microsoft.aad.msal4j.IAuthenticationResult>
-
doHandleCallback
public AuthenticationResult<com.microsoft.aad.msal4j.IAuthenticationResult> doHandleCallback(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) Description copied from interface:WebAuthenticationPluginHandle the callback request after login on the sso- Specified by:
doHandleCallbackin interfaceWebAuthenticationPlugin<com.microsoft.aad.msal4j.IAuthenticationResult>- Parameters:
request- the requestresponse- the response to consume- Returns:
- result of login challenge, providing info of the logged in user
-
doRedirectToSso
public void doRedirectToSso(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) Description copied from interface:WebAuthenticationPluginHandle the redirect to the sso login page- Specified by:
doRedirectToSsoin interfaceWebAuthenticationPlugin<com.microsoft.aad.msal4j.IAuthenticationResult>- Parameters:
request- the requestresponse- the response to consume
-
getAuthSessionObject
public static com.microsoft.aad.msal4j.IAuthenticationResult getAuthSessionObject(jakarta.servlet.http.HttpServletRequest request) -
getUrlHandlers
public Map<String,BiFunction<jakarta.servlet.http.HttpServletRequest, getUrlHandlers()jakarta.servlet.http.HttpServletResponse, io.vertigo.core.lang.Tuple<Boolean, jakarta.servlet.http.HttpServletRequest>>> Description copied from interface:WebAuthenticationPluginRegister additionnal handler for specific request necessary for the plugin- Specified by:
getUrlHandlersin interfaceWebAuthenticationPlugin<com.microsoft.aad.msal4j.IAuthenticationResult>- Returns:
- le map of specific handlers
-
getRequestedUri
Description copied from interface:WebAuthenticationPluginReturn the original request a user wanted before beeing redirected to the sso- Specified by:
getRequestedUriin interfaceWebAuthenticationPlugin<com.microsoft.aad.msal4j.IAuthenticationResult>- Parameters:
httpRequest- the request- Returns:
- the uri
-
doLogout
public void doLogout(jakarta.servlet.http.HttpServletRequest httpRequest, jakarta.servlet.http.HttpServletResponse httpResponse, Optional<String> redirectUrlOpt) Description copied from interface:WebAuthenticationPluginHandle the logout request- Specified by:
doLogoutin interfaceWebAuthenticationPlugin<com.microsoft.aad.msal4j.IAuthenticationResult>- Parameters:
httpRequest- the requesthttpResponse- the responseredirectUrlOpt- the url to redirect after logout
-