問題タブ [spring-oauth2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
441 参照

java - セキュリティで保護された管理エンドポイントを Spring OAuth2 サーバーに追加するには?

Spring Oauth2 に基づく認証サーバーを開発しています。UserDetailsカスタム実装 (およびその他のカスタム コンポーネント) を介してカスタム データをトークンに追加し、認証サーバーのユーザーをアプリケーションのエンティティにマップできるようにしました。

アプリケーション バックオフィスは、管理インターフェイスを介した新しいユーザーの作成もサポートします。このため、 で始まるいくつかのエンドポイントを開いています/users

この ednpoints には、信頼範囲を持つ認証済みクライアントのみがアクセスできるようにしたいと考えています。したがって、これらのエンドポイントへのリクエストは、Client Credentials Grant を介して取得された有効なトークンを含むAuthorizationヘッダーを提供することが期待されます。Bearer

を拡張して、これらのエンドポイントのセキュリティを構成しようとしましたWebSecurityConfigurerAdapterconfigure(HttpSecurity http)メソッドと結果のさまざまなバージョンを次に示します。

これは機能します!しかし、確保されていません。

失敗!認証を行うフィルターが適用されていないようで、403 Forbidden応答が返ってきます。または、認証されたクライアントを示唆する他の構成に置き換えauthenticated()ても、同じことが起こります。hasRole(...)hasAuthority(...)

問題は、信頼されたスコープを持つクライアントに対してエンドポイントを保護するようにエンドポイントを構成するにはどうすればよいかということです。

0 投票する
1 に答える
1841 参照

spring-boot - 認可サーバーからリソース サーバーのユーザー ロールを取得する

ユーザー名とパスワードに基づいて、ロールとともにDBからユーザーの詳細を取得する承認サーバーがあります。

リソース サーバーで保護されたリソースにアクセスしている間 (access_token を渡す)、ロールに基づいて残りの呼び出しを承認したいのですが、どうすればよいですか? リソースサーバーでプリンシパルユーザーを確認しているときに、デフォルトの[ROLE_USER]を取得しているためです

ガイドしてください..よろしくお願いします

0 投票する
2 に答える
5205 参照

spring - Spring Cloud Security で OAuth2「Token Exchange」を実装する方法

Spring Cloud Security (OAuth2 を使用) で「トークン交換」手法を実装する方法を誰かが例を持っているかどうか知りたいです。

現在、ZuulProxyを使用してOAuth2トークンを「リレー」し、SSOを実装するマイクロサービス環境に「トークンリレー」手法を実装しました。これは素晴らしいことですが、すべてのマイクロサービスが同じ clientId を使用することを意味します (ZuulProxy は、authorization_code 許可タイプと提供された clientId のみを使用してトークンをリレーするため、ZuulProxy セットアップで指定されます)。ただし、マイクロサービス内の呼び出しについては、トークンを「交換」したいと考えています。これは、場合によっては、ZuulProxy がリレーするトークンが、マイクロサービス A をマイクロサービス B のクライアントとして認証/承認するために使用する必要があるものではないことを意味します。

現在、Spring Cloud のリファレンス ドキュメントには、「Spring Boot と Spring Security OAuth2 に基づいて構築することで、シングル サインオン、トークン リレー、トークン交換などの一般的なパターンを実装するシステムをすばやく作成できます」と記載されています。( http://cloud.spring.io/spring-cloud-security/spring-cloud-security.html )

参照ドキュメントの「トークン交換」とは、この仕様で説明されている OAuth2 のこの拡張機能の実装を意味していると思います。これは基本的に必要なものです: https://datatracker.ietf.org/doc/html/draft- ietf-oauth-token-exchange-03

前述のとおり、SSO とトークン リレーの使用方法は理解していますが、リファレンス ドキュメントで「トークン交換」を実装する方法についての詳細な説明を参照できません。実装例も見つかりませんでした。

詳細情報や例がどこにあるか知っている人はいますか?

本当にありがとう!

0 投票する
2 に答える
4163 参照

spring-boot - spring eureka を使用して spring oauth を接続するにはどうすればよいですか?

AngularJS と OAuth を使用して作成するための Spring チュートリアルを使用してシングル ページ アプリケーションを作成しました

これは、SPA アプリケーションの application.yml ファイルです。

URL を指定する必要がないように、zuul ルートとユーザー情報 uri を変更する方法を知りたいのですが、これはすべてサービス ID を使用して実行できます。ここで eureka を使用するためのチュートリアルを見ました。

https://spring.io/blog/2015/01/20/microservice-registration-and-discovery-with-spring-cloud-and-netflix-s-eureka

しかし、基本的な eureka サーバーはすでにすべてのサービスを登録しているように見えるため、コードにすべての Java を追加せずに目標を達成する方法がよくわかりません。