私はSpring 5とSpringブート2.0.0.M3で認証サービスとWebアプリケーションをビルドしましたが、今はSpring boot 2.0.0.M6
に移植しようとしています。スプリングブート2.0.0.M6 OAuth2 Webアプリケーションクライアント。いいえ、@ EnableOauth2Ssoです。どのように交換する?
私は気づいた@EnableOauth2Sso
はもう利用できませんspring-boot-autoconfigure
;私はspring boot 2.0.0.M3
ファッションで私のWebアプリケーションを設定するために、この注釈を使用していました。私はのOauth2 Client
を使用して@EnableOAuth2Client
を使用して例を調べましたが、UserInfoTokenServices
のような例で使用されているConfigurationオブジェクトももう存在しないようです。
OAuth2 in spring boot versions >= 2.0.0.M6
のクライアントWebアプリケーションを設定するにはどうすればよいですか?
私はspring.security.oauth2.client.registrationを持っている今、私の春ブーツ2.0.0.M6アプリを設定して、[クライアントID]とspring.security.oauth2。 client.provider。[provider-id]はそのアプリケーションyaml内にあり、@ EnableOAuth2Clientを破棄しました。 Webアプリケーションは今すぐ認可サービスにリダイレクトされ、ユーザーは認可サーバーで認証され、再度Webアプリケーションにリダイレクトされます。ただし、クライアントプロバイダのコンフィグレーション内のuserNameAttributeが取得されないため、クライアントの認証は失敗します。 –
ClientRegistrationでプロバイダのuserNameAttributeを操作すると、承認が超過しているように見えますが、返されたときに再びフィルタチェーンを通過すると、まだ失敗します。 –
OAuth2ClientPropertiesRegistrationAdapter#getBuilder(Builderビルダ、プロバイダプロバイダ)では、userNameAttributeNameプロパティが設定されていません。 'private static Builder getBuilder(ビルダービルダー、プロバイダープロバイダー){ \t \t copyIfNotNull(provider :: getAuthorizationUri、builder :: authorizationUri); \t \t copyIfNotNull(provider :: getTokenUri、builder :: tokenUri); \t \t copyIfNotNull(provider :: getUserInfoUri、builder :: userInfoUri); \t \t copyIfNotNull(provider :: getJwkSetUri、builder :: jwkSetUri); \t \t return builder; \t} ' –