クラス DefaultOAuth2UserService
java.lang.ObjectSE
org.springframework.security.oauth2.client.userinfo.DefaultOAuth2UserService
- 実装されたすべてのインターフェース:
OAuth2UserService<OAuth2UserRequest,
OAuth2User>
public class DefaultOAuth2UserService
extends ObjectSE
implements OAuth2UserService<OAuth2UserRequest,OAuth2User>
標準の OAuth 2.0 プロバイダーをサポートする
OAuth2UserService
の実装。 標準の OAuth 2.0 プロバイダーの場合、UserInfo レスポンスからユーザーの名前にアクセスするために使用される属性名が必要であるため、UserInfoEndpoint.getUserNameAttributeName()
を介して使用可能でなければなりません。
注 : 属性名はプロバイダー間で標準化されていないため、異なる場合があります。サポートされるユーザー属性名のセットについては、プロバイダーの API ドキュメントを参照してください。
コンストラクターのサマリー
コンストラクターメソッドのサマリー
修飾子と型メソッド説明loadUser
(OAuth2UserRequest userRequest) UserInfo エンドポイントからエンドユーザーのユーザー属性を取得した後、OAuth2User
を返します。void
setAttributesConverter
(org.springframework.core.convert.converter.Converter<OAuth2UserRequest, org.springframework.core.convert.converter.Converter<MapSE<StringSE, ObjectSE>, MapSE<StringSE, ObjectSE>>> attributesConverter) この戦略を使用して、ユーザー属性を Spring Security が理解できる形式に適合させます。デフォルトでは、元の属性が保持されます。final void
setRequestEntityConverter
(org.springframework.core.convert.converter.Converter<OAuth2UserRequest, org.springframework.http.RequestEntity<?>> requestEntityConverter) final void
setRestOperations
(org.springframework.web.client.RestOperations restOperations) UserInfo リソースをリクエストするときに使用されるRestOperations
を設定します。
コンストラクターの詳細
DefaultOAuth2UserService
public DefaultOAuth2UserService()
メソッドの詳細
loadUser
インターフェースからコピーされた説明:OAuth2UserService
UserInfo エンドポイントからエンドユーザーのユーザー属性を取得した後、OAuth2User
を返します。- 次で指定:
- インターフェース
OAuth2UserService<OAuth2UserRequest,
のOAuth2User> loadUser
- パラメーター:
userRequest
- ユーザーリクエスト- 戻り値:
OAuth2User
- 例外:
OAuth2AuthenticationException
- UserInfo エンドポイントからユーザー属性を取得しようとしてエラーが発生した場合
setAttributesConverter
public void setAttributesConverter(org.springframework.core.convert.converter.Converter<OAuth2UserRequest, org.springframework.core.convert.converter.Converter<MapSE<StringSE, ObjectSE>, MapSE<StringSE, ObjectSE>>> attributesConverter) この戦略を使用して、ユーザー属性を Spring Security が理解できる形式に適合させます。デフォルトでは、元の属性が保持されます。これは、たとえば、ユーザー属性がネストされている場合に役立ちます。Spring Security ではユーザー名属性を最上位レベルに配置する必要があるため、このメソッドを使用して次の操作を実行できます。
DefaultOAuth2UserService userService = new DefaultOAuth2UserService(); userService.setAttributesConverter((userRequest) -> (attributes) -> Map<String, Object> userObject = (Map<String, Object>) attributes.get("user"); attributes.put("user-name", userObject.get("user-name")); return attributes; });
- パラメーター:
attributesConverter
- 使用する属性適応戦略- 導入:
- 6.3
setRequestEntityConverter
public final void setRequestEntityConverter(org.springframework.core.convert.converter.Converter<OAuth2UserRequest, org.springframework.http.RequestEntity<?>> requestEntityConverter) - パラメーター:
requestEntityConverter
- UserInfo リクエストのRequestEntity
表現への変換に使用されるConverter
- 導入:
- 5.1
setRestOperations
public final void setRestOperations(org.springframework.web.client.RestOperations restOperations) UserInfo リソースをリクエストするときに使用されるRestOperations
を設定します。注意 : 少なくとも、提供されている
restOperations
は、以下で構成する必要があります。ResponseErrorHandler
-OAuth2ErrorResponseErrorHandler
- パラメーター:
restOperations
- UserInfo リソースをリクエストするときに使用されるRestOperations
- 導入:
- 5.1