問題タブ [spring-saml]
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.
spring - 有効なセッションがまだ IDP に存在するかどうかを確認する方法は?
Spring Security SAML を使用して SSO を実装しました。これが現在私のために働いているものです:
SP でリソースにアクセスしようとすると、まだログインしていない場合、IdP (私の場合は idp.ssocircle.com) にリダイレクトされます。IDP での認証が成功すると、SP にリダイレクトされ、着信 SAML 応答を承認し、それぞれのユーザーのセッションを作成します。ここまで全部かっこいい!しかし、IDP からログアウトすると (外部で idp.ssocircle.com からログアウトをクリックして)、SP にアクセスできないはずです。今私が考えているのは、SPでリクエストを処理する前にIDPで有効なセッションをチェックする新しいフィルターを書くことです。私はたくさん検索しましたが、私の問題に対する解決策を見つけることができませんでした。
このフィルターを実装する方法について入力してください。または、これを行う他の方法はありますか? 任意の提案をいただければ幸いです。
spring - spring security saml を使用した IDP でのセッション タイムアウト
IDP でタイムアウトが発生した場合、SP セッションで何が起こるか説明してもらえますか?
SP は、ユーザーを IDP にリダイレクトして再度ログインすることをどのように認識しますか?
SP は、リクエストが来るたびに IDP に ping を送信しますか?
spring-security - SAML 拡張機能と Shibboleth を使用した Spring でのシングル サインオン
さまざまなセキュリティ ドメインからの認証と承認をサポートする目的で、Spring ベースのアプリケーションにシングル サインオン (SSO) 認証レイヤーを実装したいと考えています。IdP として Shibboleth を選択しましたが、SP に使用するものをまだ特定していません。
選択肢は次のとおりです。
Spring Security SAML 拡張機能:コンポーネントを使用すると、新規および既存のアプリケーションの両方が、SAML 2.0 プロトコルに基づくフェデレーションでサービス プロバイダーとして機能し、Web シングル サインオンを有効にできます。Spring Security Extension を使用すると、単一のアプリケーションで SAML 2.0 と他の認証およびフェデレーション メカニズムをシームレスに組み合わせることができます。ID プロバイダー モードで SAML 2.0 をサポートするすべての製品 (ADFS 2.0、Shibboleth、OpenAM/OpenSSO、RM5 IdM、または Ping Federate など) を使用して、Spring Security SAML 拡張機能に接続できます。
Shibboleth ( SP としても): Shibboleth は、ID プロバイダー (IdP) コンポーネントとサービス プロバイダー (SP) コンポーネントの両方を含む、SAML の HTTP/POST、アーティファクト、および属性プッシュ プロファイルを実装する Web ベースのテクノロジです。
だから、私はいくつかの質問があります:
- スケーラビリティと保守性の観点から、SP として Spring SAML を直接使用することは良い考えですか?
- Spring Security と一緒に外部 SP を使用することは可能ですか? アプリケーションやアプリケーション サーバー (JBoss 8.0 - WildFly) を構成するにはどうすればよいですか?
- (シナリオごとに) 役割をどこで定義しますか?
- 価値のある選択はどれですか?
よろしく、V.
spring-security - AuthnResponse で追加のカスタム属性を送信するように IDP に要求する方法は?
spring SAML を使用して SSO を実装しましたが、IDP (私の場合はssocircle.com ) に、既に送信されている nameID と共に追加の属性を送信するように要求する方法はあるのでしょうか。IdP から、正常に認証された人のアカウント ID を送信してもらいたいとしましょう。私はたくさん検索して、次のようないくつかの提案を見つけました。
WebSSOProfileImpl .java のgetAuthnRequestメソッドをオーバーライドして、IdP に送信される authnRequest にこの属性が設定されるようにします。しかし、私はこれをどのように進めるかについての手がかりがありませんか?この追加の属性名と形式で SP メタデータも変更する必要がありますか? はいの場合、どうすればよいですか?または、RelayState パラメーターを使用して何かを行うことはできますか? この点で何か助けていただければ幸いです。
ありがとう、
アビラッシュ
single-sign-on - wso2is を使用した SLO、idp が LogoutRequests に発行者を含まない
このセットアップでは、wso2is を idp として使用し、2 つのアプリケーションを sp として使用しています。アプリケーションの 1 つは java、spring-security-saml-extension を使用し、もう 1 つは php と simplesamlphp を使用します。SSO は正常に機能していますが、SLO を機能させることができません。
私がすることは:
- 両方の SP にログイン
- 最初の sp でログアウトを行う
- wso2 ログを見て、wso2is がログアウト要求を 2 番目の SP に送信したことを確認します。
- 2 番目の SP が logoutrequest の読み取りに失敗する
simplesamlphp エラー メッセージ:
idp によって発行された saml2 LogoutRequest:
以下の saml2 SLO-Profile 仕様では、4.4.4 章の 1294 行目に明確に記載されています。
<Issuer> 要素が存在する必要があり、要求元エンティティの一意の識別子が含まれている必要があります。
私が理解しているように、ここでは Idp として機能する wso2is が発行者である必要がありますが、メッセージにその ID を含めることができません。
私が間違っていることについてのヒントはありますか?これが wso2is のバグだとは思えません!
http://docs.oasis-open.org/security/saml/v2.0/saml-profiles-2.0-os.pdf
java - Spring SAML クレデンシャルとプラットフォーム アカウント
@ImportResource アノテーションを使用して、Spring Boot と Spring Security SAML を統合できました。
さて、次のように進めたいと思います。
- ユーザーが IdP を選択 [DONE]。
- ログインを実行します (成功) [DONE]。
- SP は (SAMLCredential オブジェクトを解析することによって) ユーザー データを取得します [完了]。
- webapp は、SAML 経由で取得したユーザー ID (メールなど) が自分の DB に存在するかどうかを確認する必要がありました。
- a) はいの場合、webapp は DB からロールを読み取り、関連する特権を設定します。
b) いいえの場合、ユーザーをシステムに挿入するために、webapp はサインアップ ページへのリダイレクトを実行する必要がありました。
UserDetailsService 実装を使用してポイント 4 と 5 を実行するのが理にかなっていますか、それとも認証プロバイダー、フィルターなどを定義するセキュリティ コンテキストをセットアップする必要がありますか?
java - Spring Security で「内部」リクエストのみを処理する HTTP ルートを定義する
私の質問はちょっと奇妙に思えるかもしれませんが、Spring Security がどのように機能するかをよりよく理解したいと思います。
私は次のようなシナリオを持っています...
Spring SecurityとSpring SAMLを使用して、 httpリクエストを適切に管理するために、エントリ ポイント、いくつかのパターン、およびフィルターを定義しました。
次に、IdP 検出サービスも定義しました。
最後に、http リクエストを処理するWeb コントローラー/sso/idpSelection
を実装しました。
匿名ユーザーが保護されたページにアクセスしようとすると、フィルターがその要求を にリダイレクトする/saml/discovery
ため、IdP ディスカバリー サービスはコントローラーを呼び出します/sso/idpSelection
。
内部リソースとして、ルート/sso/idpSelection
が IdP ディスカバリー サービスによってのみ使用されるべきであることは明らかです。
直接アクセス リクエスト (ブラウザなどによる) を拒否すると同時に、内部プロセスのルートを許可する方法はありますか?
saml - アプリケーションを認証するための Ping Federate および Spring SAML の構成
Windows_Server-2008-R2_SP1-English-64Bit-Base-2014.04.09 を実行している AWS EC2 に PingFederate をインストールしました。認証に Spring Security を使用する Java アプリケーションがあります。
PingFederate を使用して、ID プロバイダー (IdP) とサービス プロバイダー (SP) をセットアップする方法について読みました。IdP は、ログイン資格情報 (ID) を提供するアプリケーション ユーザーであり、これを、このページのこの図の SP とは別のターゲット アプリケーションを持つ SP に渡すことを収集しました。
http://documentation.pingidentity.com/display/PF66/Service+Providers+and+Identity+Providers
この画像は、IdP と SP の両側にある Federated Identity ソフトウェアも示しています。
構成オプションが何であるかを確認するためだけに、ローカルの PingFederate サーバーで IdP と SP を作成しましたが、Spring Security アプリケーションの SSO を実際に使用できるようにする必要があるこの部分について混乱しています。
私の質問は次のとおりです。
私がやろうとしていることを実装するには、IdP と SP が必要ですか。
現在、ユーザー名とパスワードは SQL Server に保存されていますが、これを利用して PingFederate がユーザーの認証に使用できますか?
これにはSpring Security SAMLを使用する必要がありますか、それとも別のルートがより適切でしょうか?
助けてくれてありがとう。PingFederate に連絡しましたが、私の地域ソリューション アーキテクトはたまたま金曜日まで不在です。
また、自分の考えが完全にずれている場合はお詫び申し上げます。必要なことに気を配ろうとしています。
single-sign-on - PingFederate を使用した SSO 用の Spring SAML の構成
Ping Federate を SSO ソリューションとして使用することにしました。多くの例を検索しましたが、PingFederate 側で SP や IdP をセットアップする方法を明確に説明するスプリング構成が見つかりませんでした。これを実装するために正確に何が必要かを説明している Spring ドキュメントは見つかりませんでした。
どんな助けでも大歓迎です。