mitreid-connect
公開メンバ関数 | 限定公開メンバ関数 | 非公開変数類 | 静的非公開変数類 | 全メンバ一覧
org.mitre.openid.connect.client.OIDCAuthenticationProvider クラス
org.mitre.openid.connect.client.OIDCAuthenticationProvider の継承関係図
Inheritance graph
org.mitre.openid.connect.client.OIDCAuthenticationProvider 連携図
Collaboration graph

公開メンバ関数

Authentication authenticate (final Authentication authentication) throws AuthenticationException
 
void setUserInfoFetcher (UserInfoFetcher userInfoFetcher)
 
void setAuthoritiesMapper (OIDCAuthoritiesMapper authoritiesMapper)
 
boolean supports (Class<?> authentication)
 

限定公開メンバ関数

Authentication createAuthenticationToken (PendingOIDCAuthenticationToken token, Collection<? extends GrantedAuthority > authorities, UserInfo userInfo)
 

非公開変数類

UserInfoFetcher userInfoFetcher = new UserInfoFetcher()
 
OIDCAuthoritiesMapper authoritiesMapper = new NamedAdminAuthoritiesMapper()
 

静的非公開変数類

static Logger logger = LoggerFactory.getLogger(OIDCAuthenticationProvider.class)
 

詳解

著者
nemonik, Justin Richer

関数詳解

◆ authenticate()

Authentication org.mitre.openid.connect.client.OIDCAuthenticationProvider.authenticate ( final Authentication  authentication) throws AuthenticationException
inline
55  {
56 
57  if (!supports(authentication.getClass())) {
58  return null;
59  }
60 
61  if (authentication instanceof PendingOIDCAuthenticationToken) {
62 
63  PendingOIDCAuthenticationToken token = (PendingOIDCAuthenticationToken) authentication;
64 
65  // get the ID Token value out
66  JWT idToken = token.getIdToken();
67 
68  // load the user info if we can
69  UserInfo userInfo = userInfoFetcher.loadUserInfo(token);
70 
71  if (userInfo == null) {
72  // user info not found -- could be an error, could be fine
73  } else {
74  // if we found userinfo, double check it
75  if (!Strings.isNullOrEmpty(userInfo.getSub()) && !userInfo.getSub().equals(token.getSub())) {
76  // the userinfo came back and the user_id fields don't match what was in the id_token
77  throw new UsernameNotFoundException("user_id mismatch between id_token and user_info call: " + token.getSub() + " / " + userInfo.getSub());
78  }
79  }
80 
81  return createAuthenticationToken(token, authoritiesMapper.mapAuthorities(idToken, userInfo), userInfo);
82  }
83 
84  return null;
85  }
boolean supports(Class<?> authentication)
Definition: OIDCAuthenticationProvider.java:125
OIDCAuthoritiesMapper authoritiesMapper
Definition: OIDCAuthenticationProvider.java:46
Authentication createAuthenticationToken(PendingOIDCAuthenticationToken token, Collection<? extends GrantedAuthority > authorities, UserInfo userInfo)
Definition: OIDCAuthenticationProvider.java:96
UserInfo loadUserInfo(final PendingOIDCAuthenticationToken token)
Definition: UserInfoFetcher.java:76
UserInfoFetcher userInfoFetcher
Definition: OIDCAuthenticationProvider.java:44
Collection<? extends GrantedAuthority > mapAuthorities(JWT idToken, UserInfo userInfo)

◆ createAuthenticationToken()

Authentication org.mitre.openid.connect.client.OIDCAuthenticationProvider.createAuthenticationToken ( PendingOIDCAuthenticationToken  token,
Collection<? extends GrantedAuthority >  authorities,
UserInfo  userInfo 
)
inlineprotected

Override this function to return a different kind of Authentication, processes the authorities differently, or do post-processing based on the UserInfo object.

引数
token
authorities
userInfo
戻り値
96  {
97  return new OIDCAuthenticationToken(token.getSub(),
98  token.getIssuer(),
99  userInfo, authorities,
100  token.getIdToken(), token.getAccessTokenValue(), token.getRefreshTokenValue());
101  }

◆ setAuthoritiesMapper()

void org.mitre.openid.connect.client.OIDCAuthenticationProvider.setAuthoritiesMapper ( OIDCAuthoritiesMapper  authoritiesMapper)
inline
引数
authoritiesMapper
113  {
115  }
OIDCAuthoritiesMapper authoritiesMapper
Definition: OIDCAuthenticationProvider.java:46

◆ setUserInfoFetcher()

void org.mitre.openid.connect.client.OIDCAuthenticationProvider.setUserInfoFetcher ( UserInfoFetcher  userInfoFetcher)
inline
引数
userInfoFetcher
106  {
108  }
UserInfoFetcher userInfoFetcher
Definition: OIDCAuthenticationProvider.java:44

◆ supports()

boolean org.mitre.openid.connect.client.OIDCAuthenticationProvider.supports ( Class<?>  authentication)
inline
125  {
126  return PendingOIDCAuthenticationToken.class.isAssignableFrom(authentication);
127  }

メンバ詳解

◆ authoritiesMapper

OIDCAuthoritiesMapper org.mitre.openid.connect.client.OIDCAuthenticationProvider.authoritiesMapper = new NamedAdminAuthoritiesMapper()
private

◆ logger

Logger org.mitre.openid.connect.client.OIDCAuthenticationProvider.logger = LoggerFactory.getLogger(OIDCAuthenticationProvider.class)
staticprivate

◆ userInfoFetcher

UserInfoFetcher org.mitre.openid.connect.client.OIDCAuthenticationProvider.userInfoFetcher = new UserInfoFetcher()
private

このクラス詳解は次のファイルから抽出されました: