私は spring-security-oauth2-1.0.3.RELEASE に取り組んでおり、oauth クライアントをセットアップして、ユーザーが Google で認証されるようにしようとしています。
私はこれをしばらくやめましたが、まだ非常に明確に説明している良い記事はあまり見つかりません.
私がやっていることは、次のように OAuth2ClientAuthenticationProcessingFilter をフィルターチェーンに入れることです:
<http xmlns="http://www.springframework.org/schema/security"
use-expressions="true" pattern="/oauth.html" auto-config="true">
<sec:intercept-url pattern="/**" access="isFullyAuthenticated()" />
<custom-filter ref="oauth2ClientFilter" position="CAS_FILTER" />
<sec:custom-filter ref="googleAuthFilter" after="CAS_FILTER" />
</http>
カスタム フィルター: googleAuthFilter は、URL を保護するためにあります。
OAuth2ClientAuthenticationProcessingFilter のソースコードを読むと、への参照が必要です
- Oauth サーバー リソース (Google に関する情報) を参照する OAuth2RestOperations (レスト テンプレート)
- ResourceServerTokenServices ( Spring-security-oauth ライブラリ プロバイダー パッケージから)。
今、私は混乱しています。Spring-security-oauth は、クライアントとプロバイダーの 2 つの部分に分かれています。
Oauth クライアントを設定したばかりなのに、なぜ Oauth プロバイダー パッケージからのクラスの参照が必要なのですか?
また、ResourceServerTokenServices はどのように設定すればよいですか? 今、デフォルトの実装を使用しようとしています。DefaultTokenServices は再びへの参照を必要とするため
- トークンストア
- クライアント詳細サービス
- トークンエンハンサー
これまでのところ、すべてのデフォルトの実装を試しました:
- TokenStore: InMemoryTokenStore
- ClientDetailsService: InMemoryClientDetailsService
- TokenEnhancer: TokenEnhancerChain
そしてそれはうまくいかないようです...
ありがとう!