Closed webcane closed 1 year ago
userInfoMap holds OAuth2UserInfoProvider
. for example: GithubUserInfoProvider. He creates github UserInfo instance.
@Override
public UserInfo getUserInfo(Map<String, Object> attributes) {
return new GithubOAuth2UserInfo(attributes);
}
each concrete UserInfo
instance knows how to extract id, name, email and imageUrl from the particular OAuth2 attributes.
example: GithubOAuth2UserInfo
implement factory pattern for OAuth2UserInfoFactory class.