Package com.avoka.fc.core.security
Class OAuth2Authenticator
- java.lang.Object
-
- com.avoka.fc.core.security.OAuth2Authenticator
-
public class OAuth2Authenticator extends Object
Provides an oAuth2 authenticator client that can be used by a transact security Manager to authenticate against an oAuth2 provider like Google. Note this class performs standard oAuth2 authentication. It does NOT get the user profile from the authentication provider.- Since:
- 4.1.0
-
-
Field Summary
Fields Modifier and Type Field Description static String
PARAMETER_AUTH_URI
The Security Manager Parameter Name for Auth Uristatic String
PARAMETER_CLIENT_ID
The Security Manager Parameter Name for Client Idstatic String
PARAMETER_CLIENT_SECRET
The Security Manager Parameter Name for Client Secretstatic String
PARAMETER_REDIRECT_URI
The Security Manager Parameter Name for Redirect Uristatic String
PARAMETER_SCOPE
The Security Manager Parameter Name for Scopestatic String
PARAMETER_TOKEN_URI
The Security Manager Parameter Name for Token Uri
-
Constructor Summary
Constructors Constructor Description OAuth2Authenticator(HttpServletRequest request)
Create a OAuth2Authenticator from the given request, security manager.OAuth2Authenticator(HttpServletRequest request, SecurityManager securityManager)
Create a OAuth2Authenticator from the given request, security manager.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
getAccessToken()
Performs the oAuth2 authentication.String
getAccessTokenEncoded()
Performs the oAuth2 authentication.String
getAccessTokenResponseJson()
Returns the JSON response for the Access Token request.boolean
hasRequestCode()
Returns true if the request has a "code" request parameter.void
setAuthUri(String authUri)
Sets the authUri String propertyvoid
setClientId(String clientId)
Sets the clientId String propertyvoid
setClientSecret(String clientSecret)
Sets the clientSecret String propertyvoid
setRedirectUri(String redirectUri)
Sets the redirectUri String propertyvoid
setScope(String scope)
Sets the scope String propertyvoid
setTokenUrl(String tokenUri)
Sets the tokenUri String property
-
-
-
Field Detail
-
PARAMETER_AUTH_URI
public static final String PARAMETER_AUTH_URI
The Security Manager Parameter Name for Auth Uri- See Also:
- Constant Field Values
-
PARAMETER_CLIENT_ID
public static final String PARAMETER_CLIENT_ID
The Security Manager Parameter Name for Client Id- See Also:
- Constant Field Values
-
PARAMETER_CLIENT_SECRET
public static final String PARAMETER_CLIENT_SECRET
The Security Manager Parameter Name for Client Secret- See Also:
- Constant Field Values
-
PARAMETER_REDIRECT_URI
public static final String PARAMETER_REDIRECT_URI
The Security Manager Parameter Name for Redirect Uri- See Also:
- Constant Field Values
-
PARAMETER_SCOPE
public static final String PARAMETER_SCOPE
The Security Manager Parameter Name for Scope- See Also:
- Constant Field Values
-
PARAMETER_TOKEN_URI
public static final String PARAMETER_TOKEN_URI
The Security Manager Parameter Name for Token Uri- See Also:
- Constant Field Values
-
-
Constructor Detail
-
OAuth2Authenticator
public OAuth2Authenticator(HttpServletRequest request)
Create a OAuth2Authenticator from the given request, security manager.- Parameters:
request
- - HttpServletRequest that contains the SAML Token (required)
-
OAuth2Authenticator
public OAuth2Authenticator(HttpServletRequest request, SecurityManager securityManager)
Create a OAuth2Authenticator from the given request, security manager.- Parameters:
request
- - HttpServletRequest that is calling the OAuth2Authenticator (required)securityManager
- - The SecurityManager that is using the OAuth2Authenticator (required)
-
-
Method Detail
-
hasRequestCode
public boolean hasRequestCode()
Returns true if the request has a "code" request parameter. When the SSO is initiated the request wont have a "code" request parameter. The request will be redirected to the oAuth2 login server where the user will authenticate. The oAuthLogin server will then redirect the browser back to the portal/secure/account/home.htm page with the code as a parameter like '/secure/account/home.htm?code=AKLDSFJASLKDJF123213SASDFLKJ234WERSDFTST'- Returns:
- true if the request has a "code" request parameter.
-
getAccessToken
public String getAccessToken()
Performs the oAuth2 authentication. First redirects the browser to the oAuth2 providers auth url. Handles the return callback the gets the oAuth2 Access Token- Returns:
- the String oAuth2 Access Token that is used to call the user profile information.
-
getAccessTokenEncoded
public String getAccessTokenEncoded()
Performs the oAuth2 authentication. First redirects the browser to the oAuth2 providers auth url. Handles the return callback the gets the oAuth2 Access Token- Returns:
- the String oAuth2 Access Token that is used to call the user profile information.
- Since:
- 5.0.0
-
getAccessTokenResponseJson
public String getAccessTokenResponseJson()
Returns the JSON response for the Access Token request. The getAccessTone() method executes the oAuth2 url steps. This is a Utility method that can be called after getAccessToken() method call to use other JSON attibutes.- Returns:
- the String representation of oAuth2 Access Token response. Null value will be returned if Access Token hasn't been returned yet.
- Since:
- 5.0.0
-
setAuthUri
public void setAuthUri(String authUri)
Sets the authUri String property- Parameters:
authUri
- the String oAuth2 auth uri
-
setClientId
public void setClientId(String clientId)
Sets the clientId String property- Parameters:
clientId
- the String oAuth2 client id
-
setClientSecret
public void setClientSecret(String clientSecret)
Sets the clientSecret String property- Parameters:
clientSecret
- the String oAuth client secret
-
setRedirectUri
public void setRedirectUri(String redirectUri)
Sets the redirectUri String property- Parameters:
redirectUri
- the String uri to redirect back to transaction manager secure page: /secure/account/home.htm
-
setScope
public void setScope(String scope)
Sets the scope String property- Parameters:
scope
- the String oAuth scope property
-
setTokenUrl
public void setTokenUrl(String tokenUri)
Sets the tokenUri String property- Parameters:
tokenUri
- the String uri for requesting the oAuth token
-
-