3

私は 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 のソースコードを読むと、への参照が必要です

  1. Oauth サーバー リソース (Google に関する情報) を参照する OAuth2RestOperations (レスト テンプレート)
  2. ResourceServerTokenServices ( Spring-security-oauth ライブラリ プロバイダー パッケージから)。

今、私は混乱しています。Spring-security-oauth は、クライアントとプロバイダーの 2 つの部分に分かれています。

Oauth クライアントを設定したばかりなのに、なぜ Oauth プロバイダー パッケージからのクラスの参照が必要なのですか?

また、ResourceServerTokenServices はどのように設定すればよいですか? 今、デフォルトの実装を使用しようとしています。DefaultTokenServices は再びへの参照を必要とするため

  1. トークンストア
  2. クライアント詳細サービス
  3. トークンエンハンサー

これまでのところ、すべてのデフォルトの実装を試しました:

  • TokenStore: InMemoryTokenStore
  • ClientDetailsS​​ervice: InMemoryClientDetailsS​​ervice
  • TokenEnhancer: TokenEnhancerChain

そしてそれはうまくいかないようです...

ありがとう!

4

2 に答える 2

2

何か書こうかなと思いました。しかし、使用しているバージョンは非常に古く、Spring Security OAuth2 の最近のバージョンは非常に使いやすく、多くのドキュメントに広く適用されています。ちょっと検索してみましょう :D

http://jhasaket.blogspot.com/2014/09/securing-spring-mvc-application-using.html

于 2015-01-22T09:52:45.680 に答える