Package com.simplicite.util.tools
Class AuthTool
- java.lang.Object
-
- com.simplicite.util.tools.AuthTool
-
public class AuthTool extends java.lang.Object
Simplicite(R) authentication toolbox
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
AUTH_DEFAULT_ERROR
Default authentication error messagestatic java.lang.String
AUTH_DEFAULT_URL
Default authentication form actionstatic int
AUTH_METHOD_CROWD
Crowd authentication methodstatic int
AUTH_METHOD_CUSTOM
Custom authentication methodstatic int
AUTH_METHOD_DEFAULT
Default (server managed: JAAS, Relam, ...) authentication methodstatic int
AUTH_METHOD_INTERNAL
Internal OAuth2 authentication methodstatic int
AUTH_METHOD_LDAP
LDAP authentication methodstatic int
AUTH_METHOD_NONE
No authentication methodstatic int
AUTH_METHOD_OAUTH2
External OAuth2 authentication methodstatic int
AUTH_METHOD_SAML
External SAML authentication methodstatic java.lang.String
AUTH_PROVIDER_CROWD
Generic Crowd provider namestatic java.lang.String
AUTH_PROVIDER_CUSTOM
Generic custom provider namestatic java.lang.String
AUTH_PROVIDER_DEFAULT
Default (server-managed: JAAS, Relam, ...) authentication provider namestatic java.lang.String
AUTH_PROVIDER_INTERNAL
Internal OAuth2 authentication provider namestatic java.lang.String
AUTH_PROVIDER_LDAP
Generic LDAP provider namestatic java.lang.String
AUTH_PROVIDER_OAUTH2_FRANCECONNECT
FranceConnect external OAuth2 authentication provider namestatic java.lang.String
AUTH_PROVIDER_OAUTH2_GOOGLE
Google external OAuth2 authentication provider namestatic java.lang.String
AUTH_PROVIDER_OAUTH2_LINKEDIN
LinkedIn external OAuth2 authentication provider namestatic java.lang.String
AUTH_PROVIDER_OAUTH2_MICROSOFT
Microsoft Live external OAuth2 authentication provider namestatic java.lang.String
AUTH_PROVIDER_SAML_GOOGLE
Google external SAML authentication provider namestatic java.lang.String
AUTH_PROVIDERS_PARAM_NAME
Authentication providers system parameter namestatic java.lang.String
OAUTH2_FRANCECONNECT_URL_FOR_COMPANIES
FranceConnect URL for companiesstatic java.lang.String
OAUTH2_FRANCECONNECT_URL_FOR_INDVIDUALS
FranceConnect URL for individualsstatic java.lang.String
OAUTH2_LINKEDIN_URL
LinkedIn URL
-
Constructor Summary
Constructors Constructor Description AuthTool()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static org.json.JSONObject
decodeJWTToken(java.lang.String token)
Decode JWT tokenstatic int
getAuthMethodFromType(java.lang.String type)
Get auth type code from auth type namestatic org.json.JSONObject
getAuthProvider(int method, java.lang.String name)
Get specified auth provider definitionstatic org.json.JSONArray
getAuthProviders()
Get all auth providers definitionstatic org.json.JSONArray
getAuthProviders(int method)
Get auth providers definition for specified auth methodstatic java.lang.String
getAuthTypeFromMethod(int method)
Get auth type name from auth method codestatic boolean
getBooleanSetting(java.lang.String providerName, int providerType, java.lang.String name, boolean defaultValue)
Get boolean settingstatic org.json.JSONObject
getLocalAuthProvider()
LGet local OAUTH2 provider definitionstatic java.lang.String
getOAuth2AuthorizeURL(java.lang.String provider, java.lang.String defaultValue)
Get OAuth2 authorize endpoint URLstatic java.lang.String
getOAuth2BaseURL(java.lang.String provider)
Get OAuth2 base URLstatic java.lang.String
getOAuth2ClientID(java.lang.String provider)
Get OAuth2 client IDstatic java.lang.String
getOAuth2ClientSecret(java.lang.String provider)
Get OAuth2 client secretstatic java.lang.String
getOAuth2LogoutURL(java.lang.String provider, java.lang.String defaultValue)
Get OAuth2 logout endpoint URLstatic java.lang.String
getOAuth2RedirectURI(java.lang.String provider, java.lang.String defaultValue)
Get OAuth2 redirect URIstatic java.lang.String
getOAuth2Scopes(java.lang.String provider)
Get OAuth2 scopesstatic org.json.JSONObject
getOAuth2TokenInfoMappings(java.lang.String provider)
Get OAuth2 token info fields mappingsstatic java.lang.String
getOAuth2TokenInfoURL(java.lang.String provider, java.lang.String defaultValue)
Get OAuth2 token info endpoint URLstatic java.lang.String
getOAuth2TokenURL(java.lang.String provider, java.lang.String defaultValue)
Get OAuth2 token endpoint URLstatic org.json.JSONObject
getOAuth2UserInfoMappings(java.lang.String provider)
Get OAuth2 user info fields mappingsstatic java.lang.String
getOAuth2UserInfoURL(java.lang.String provider, java.lang.String defaultValue)
Get OAuth2 user info endpoint URLstatic java.lang.String
getSetting(java.lang.String providerName, int providerType, java.lang.String name, java.lang.String defaultValue)
Get string settingstatic boolean
isSync(java.lang.String provider, int providerType)
Is user and responsibilities synchronization required?static boolean
useCrowd()
Is at least one CROWD authentication provider configured?static boolean
useLDAP()
Is at least one LDAP authentication provider configured?static boolean
useOAuth2()
Is at least one OAuth2 authentication provider configured?static boolean
useSAML()
Is at least one SAML authentication provider configured?
-
-
-
Field Detail
-
AUTH_DEFAULT_URL
public static final java.lang.String AUTH_DEFAULT_URL
Default authentication form action- See Also:
- Constant Field Values
-
AUTH_METHOD_NONE
public static final int AUTH_METHOD_NONE
No authentication method- See Also:
- Constant Field Values
-
AUTH_METHOD_DEFAULT
public static final int AUTH_METHOD_DEFAULT
Default (server managed: JAAS, Relam, ...) authentication method- See Also:
- Constant Field Values
-
AUTH_METHOD_INTERNAL
public static final int AUTH_METHOD_INTERNAL
Internal OAuth2 authentication method- See Also:
- Constant Field Values
-
AUTH_METHOD_OAUTH2
public static final int AUTH_METHOD_OAUTH2
External OAuth2 authentication method- See Also:
- Constant Field Values
-
AUTH_METHOD_SAML
public static final int AUTH_METHOD_SAML
External SAML authentication method- See Also:
- Constant Field Values
-
AUTH_METHOD_LDAP
public static final int AUTH_METHOD_LDAP
LDAP authentication method- See Also:
- Constant Field Values
-
AUTH_METHOD_CROWD
public static final int AUTH_METHOD_CROWD
Crowd authentication method- See Also:
- Constant Field Values
-
AUTH_METHOD_CUSTOM
public static final int AUTH_METHOD_CUSTOM
Custom authentication method- See Also:
- Constant Field Values
-
AUTH_PROVIDERS_PARAM_NAME
public static final java.lang.String AUTH_PROVIDERS_PARAM_NAME
Authentication providers system parameter name- See Also:
- Constant Field Values
-
AUTH_DEFAULT_ERROR
public static final java.lang.String AUTH_DEFAULT_ERROR
Default authentication error message- See Also:
- Constant Field Values
-
AUTH_PROVIDER_DEFAULT
public static final java.lang.String AUTH_PROVIDER_DEFAULT
Default (server-managed: JAAS, Relam, ...) authentication provider name- See Also:
- Constant Field Values
-
AUTH_PROVIDER_INTERNAL
public static final java.lang.String AUTH_PROVIDER_INTERNAL
Internal OAuth2 authentication provider name- See Also:
- Constant Field Values
-
AUTH_PROVIDER_OAUTH2_GOOGLE
public static final java.lang.String AUTH_PROVIDER_OAUTH2_GOOGLE
Google external OAuth2 authentication provider name- See Also:
- Constant Field Values
-
AUTH_PROVIDER_OAUTH2_MICROSOFT
public static final java.lang.String AUTH_PROVIDER_OAUTH2_MICROSOFT
Microsoft Live external OAuth2 authentication provider name- See Also:
- Constant Field Values
-
AUTH_PROVIDER_OAUTH2_LINKEDIN
public static final java.lang.String AUTH_PROVIDER_OAUTH2_LINKEDIN
LinkedIn external OAuth2 authentication provider name- See Also:
- Constant Field Values
-
AUTH_PROVIDER_OAUTH2_FRANCECONNECT
public static final java.lang.String AUTH_PROVIDER_OAUTH2_FRANCECONNECT
FranceConnect external OAuth2 authentication provider name- See Also:
- Constant Field Values
-
AUTH_PROVIDER_SAML_GOOGLE
public static final java.lang.String AUTH_PROVIDER_SAML_GOOGLE
Google external SAML authentication provider name- See Also:
- Constant Field Values
-
AUTH_PROVIDER_CROWD
public static final java.lang.String AUTH_PROVIDER_CROWD
Generic Crowd provider name- See Also:
- Constant Field Values
-
AUTH_PROVIDER_LDAP
public static final java.lang.String AUTH_PROVIDER_LDAP
Generic LDAP provider name- See Also:
- Constant Field Values
-
AUTH_PROVIDER_CUSTOM
public static final java.lang.String AUTH_PROVIDER_CUSTOM
Generic custom provider name- See Also:
- Constant Field Values
-
OAUTH2_FRANCECONNECT_URL_FOR_INDVIDUALS
public static final java.lang.String OAUTH2_FRANCECONNECT_URL_FOR_INDVIDUALS
FranceConnect URL for individuals- See Also:
- Constant Field Values
-
OAUTH2_FRANCECONNECT_URL_FOR_COMPANIES
public static final java.lang.String OAUTH2_FRANCECONNECT_URL_FOR_COMPANIES
FranceConnect URL for companies- See Also:
- Constant Field Values
-
OAUTH2_LINKEDIN_URL
public static final java.lang.String OAUTH2_LINKEDIN_URL
LinkedIn URL- See Also:
- Constant Field Values
-
-
Method Detail
-
getAuthTypeFromMethod
public static java.lang.String getAuthTypeFromMethod(int method)
Get auth type name from auth method code- Parameters:
method
- Auth method code- Returns:
- Auth type name
-
getAuthMethodFromType
public static int getAuthMethodFromType(java.lang.String type)
Get auth type code from auth type name- Parameters:
type
- Auth type name- Returns:
- Auth type code
-
getAuthProviders
public static final org.json.JSONArray getAuthProviders(int method)
Get auth providers definition for specified auth method- Parameters:
method
- Auth method (one of Globals.AUTH_METHOD_*)- Returns:
- JSON array
-
getAuthProviders
public static final org.json.JSONArray getAuthProviders()
Get all auth providers definition- Returns:
- JSON array
-
getLocalAuthProvider
public static final org.json.JSONObject getLocalAuthProvider()
LGet local OAUTH2 provider definition- Returns:
- JSON object
-
getAuthProvider
public static final org.json.JSONObject getAuthProvider(int method, java.lang.String name)
Get specified auth provider definition- Parameters:
method
- Auth method (one ofAuthTool.AUTH_METHOD_*
constants)name
- Provider name- Returns:
- JSON object
-
useOAuth2
public static final boolean useOAuth2()
Is at least one OAuth2 authentication provider configured?- Returns:
- True if at least one OAuth2 authentication provider is configured
-
useSAML
public static final boolean useSAML()
Is at least one SAML authentication provider configured?- Returns:
- True if at least one SAML authentication provider is configured
-
useCrowd
public static final boolean useCrowd()
Is at least one CROWD authentication provider configured?- Returns:
- True if at least one CROWD authentication provider is configured
-
useLDAP
public static final boolean useLDAP()
Is at least one LDAP authentication provider configured?- Returns:
- True if at least one LDAP authentication provider is configured
-
getSetting
public static java.lang.String getSetting(java.lang.String providerName, int providerType, java.lang.String name, java.lang.String defaultValue)
Get string setting- Parameters:
providerName
- Provider nameproviderType
- Provider type (one of Globals.AUTH_METHOD_*)name
- Setting namedefaultValue
- Default value- Returns:
- Setting value or default if not found
-
getBooleanSetting
public static boolean getBooleanSetting(java.lang.String providerName, int providerType, java.lang.String name, boolean defaultValue)
Get boolean setting- Parameters:
providerName
- Provider nameproviderType
- Provider type (one of Globals.AUTH_METHOD_*)name
- Setting namedefaultValue
- Default value- Returns:
- Setting boolean value or default if not found
-
isSync
public static boolean isSync(java.lang.String provider, int providerType)
Is user and responsibilities synchronization required?- Parameters:
provider
- Provider nameproviderType
- Provider type (one of Globals.AUTH_METHOD_*)- Returns:
- True if synchronization is required
-
getOAuth2BaseURL
public static java.lang.String getOAuth2BaseURL(java.lang.String provider)
Get OAuth2 base URL- Parameters:
provider
- Provider name- Returns:
- OAuth2 base URL
-
getOAuth2AuthorizeURL
public static java.lang.String getOAuth2AuthorizeURL(java.lang.String provider, java.lang.String defaultValue)
Get OAuth2 authorize endpoint URL- Parameters:
provider
- Provider namedefaultValue
- Default value- Returns:
- Oauth2 authorize endpoint URL
-
getOAuth2TokenURL
public static java.lang.String getOAuth2TokenURL(java.lang.String provider, java.lang.String defaultValue)
Get OAuth2 token endpoint URL- Parameters:
provider
- Provider namedefaultValue
- Default value- Returns:
- Oauth2 token endpoint URL
-
getOAuth2UserInfoURL
public static java.lang.String getOAuth2UserInfoURL(java.lang.String provider, java.lang.String defaultValue)
Get OAuth2 user info endpoint URL- Parameters:
provider
- Provider namedefaultValue
- Default value- Returns:
- Oauth2 user info endpoint URL
-
getOAuth2UserInfoMappings
public static org.json.JSONObject getOAuth2UserInfoMappings(java.lang.String provider)
Get OAuth2 user info fields mappings- Parameters:
provider
- Provider- Returns:
- User info as JSON object
-
getOAuth2TokenInfoURL
public static java.lang.String getOAuth2TokenInfoURL(java.lang.String provider, java.lang.String defaultValue)
Get OAuth2 token info endpoint URL- Parameters:
provider
- Provider namedefaultValue
- Default value- Returns:
- Oauth2 token info URL
-
getOAuth2TokenInfoMappings
public static org.json.JSONObject getOAuth2TokenInfoMappings(java.lang.String provider)
Get OAuth2 token info fields mappings- Parameters:
provider
- Provider name- Returns:
- Oauth2 token info fields mapping as JSON object
-
getOAuth2LogoutURL
public static java.lang.String getOAuth2LogoutURL(java.lang.String provider, java.lang.String defaultValue)
Get OAuth2 logout endpoint URL- Parameters:
provider
- Provider namedefaultValue
- Default value- Returns:
- Logout URL
-
getOAuth2RedirectURI
public static java.lang.String getOAuth2RedirectURI(java.lang.String provider, java.lang.String defaultValue)
Get OAuth2 redirect URI- Parameters:
provider
- Provider namedefaultValue
- Default value- Returns:
- Redirect URI
-
getOAuth2ClientID
public static java.lang.String getOAuth2ClientID(java.lang.String provider)
Get OAuth2 client ID- Parameters:
provider
- Provider name- Returns:
- OAuth2 client ID
-
getOAuth2ClientSecret
public static java.lang.String getOAuth2ClientSecret(java.lang.String provider)
Get OAuth2 client secret- Parameters:
provider
- Provider name- Returns:
- OAuth2 client secret
-
getOAuth2Scopes
public static java.lang.String getOAuth2Scopes(java.lang.String provider)
Get OAuth2 scopes- Parameters:
provider
- Provider name- Returns:
- Oauth2 scopes
-
decodeJWTToken
public static org.json.JSONObject decodeJWTToken(java.lang.String token) throws ParamsException
Decode JWT token- Parameters:
token
- JWT token- Returns:
- Decoded JWT token as JSON object
- Throws:
ParamsException
-
-