Class OpenIDConnectProvider
- java.lang.Object
-
- org.nuxeo.ecm.platform.oauth2.openid.OpenIDConnectProvider
-
- All Implemented Interfaces:
LoginProviderLinkComputer
public class OpenIDConnectProvider extends Object implements LoginProviderLinkComputer
Class that holds info about an OpenID provider, this includes an OAuth Provider as well as urls and icons- Author:
- Nelson Silva, Tiry
-
-
Field Summary
Fields Modifier and Type Field Description protected StringauthenticationMethodprotected static Loglogprotected RedirectUriResolverredirectUriResolverprotected StringuserMapperprotected UserResolveruserResolver
-
Constructor Summary
Constructors Constructor Description OpenIDConnectProvider(OAuth2ServiceProvider oauth2Provider, String accessTokenKey, String userInfoURL, Class<? extends OpenIDUserInfo> openIdUserInfoClass, String icon, boolean enabled, RedirectUriResolver redirectUriResolver, Class<? extends UserResolver> userResolverClass, String userMapper)OpenIDConnectProvider(OAuth2ServiceProvider oauth2Provider, String accessTokenKey, String userInfoURL, Class<? extends OpenIDUserInfo> openIdUserInfoClass, String icon, boolean enabled, RedirectUriResolver redirectUriResolver, Class<? extends UserResolver> userResolverClass, String userMapper, String authenticationMethod)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StringcomputeUrl(javax.servlet.http.HttpServletRequest req, String requestedUrl)Compute Url that should be used to login via this login provider.StringcreateStateToken(javax.servlet.http.HttpServletRequest request)Create a state token to prevent request forgery.StringgetAccessToken(javax.servlet.http.HttpServletRequest req, String code)StringgetAuthenticationUrl(javax.servlet.http.HttpServletRequest req, String requestedUrl)StringgetIcon()StringgetName()StringgetRedirectUri(javax.servlet.http.HttpServletRequest req)OpenIDUserInfogetUserInfo(String accessToken)UserResolvergetUserResolver()booleanisEnabled()OpenIDUserInfoparseUserInfo(String userInfoJSON)booleanverifyStateToken(javax.servlet.http.HttpServletRequest request)Ensure that this is no request forgery going on, and that the user sending us this connect request is the user that was supposed to.
-
-
-
Field Detail
-
redirectUriResolver
protected RedirectUriResolver redirectUriResolver
-
userResolver
protected UserResolver userResolver
-
userMapper
protected String userMapper
-
authenticationMethod
protected String authenticationMethod
-
-
Constructor Detail
-
OpenIDConnectProvider
@Deprecated public OpenIDConnectProvider(OAuth2ServiceProvider oauth2Provider, String accessTokenKey, String userInfoURL, Class<? extends OpenIDUserInfo> openIdUserInfoClass, String icon, boolean enabled, RedirectUriResolver redirectUriResolver, Class<? extends UserResolver> userResolverClass, String userMapper)
-
OpenIDConnectProvider
public OpenIDConnectProvider(OAuth2ServiceProvider oauth2Provider, String accessTokenKey, String userInfoURL, Class<? extends OpenIDUserInfo> openIdUserInfoClass, String icon, boolean enabled, RedirectUriResolver redirectUriResolver, Class<? extends UserResolver> userResolverClass, String userMapper, String authenticationMethod)
-
-
Method Detail
-
getRedirectUri
public String getRedirectUri(javax.servlet.http.HttpServletRequest req)
-
createStateToken
public String createStateToken(javax.servlet.http.HttpServletRequest request)
Create a state token to prevent request forgery. Store it in the session for later validation.
-
verifyStateToken
public boolean verifyStateToken(javax.servlet.http.HttpServletRequest request)
Ensure that this is no request forgery going on, and that the user sending us this connect request is the user that was supposed to.
-
getAuthenticationUrl
public String getAuthenticationUrl(javax.servlet.http.HttpServletRequest req, String requestedUrl)
-
getAccessToken
public String getAccessToken(javax.servlet.http.HttpServletRequest req, String code)
-
getUserInfo
public OpenIDUserInfo getUserInfo(String accessToken)
-
parseUserInfo
public OpenIDUserInfo parseUserInfo(String userInfoJSON) throws IOException
- Throws:
IOException
-
isEnabled
public boolean isEnabled()
-
getUserResolver
public UserResolver getUserResolver()
-
computeUrl
public String computeUrl(javax.servlet.http.HttpServletRequest req, String requestedUrl)
Description copied from interface:LoginProviderLinkComputerCompute Url that should be used to login via this login provider. Because the url can depend onb the context, it is computed by this method rather than using a static property- Specified by:
computeUrlin interfaceLoginProviderLinkComputer
-
-