SAML SSOは通常どのように実装されますか?
Google AppsでSAMLを使用することについて this (廃止)、および [〜#〜] saml [〜#〜] のウィキペディアエントリを読みました。
ウィキペディアのエントリでは、SAMLRequestとSAMLResponseの詳細を含むフォームでの応答について説明しています。これは、ユーザーがシングルサインオンを続行するためにフォームを物理的に送信する必要があるということですか?
グーグルのエントリーでは、リダイレクトの使用について説明していますが、これは私にはあまり思えません。ただし、ユーザーが送信する必要がある応答用のフォームの使用についても説明しています(ただし、JavaScriptを使用してフォームを自動的に送信することについては説明しています)。
これは標準的な方法ですか?フォームの送信にリダイレクトとJavaScriptを使用していますか?
WindowsドメインとJ2EE Webアプリケーション間でSSOを実装する方法について、他の優れたリソースを知っている人はいますか。 Webアプリケーションは、別のネットワーク/ドメイン上にあります。クライアントが CA Siteminder (SAMLを使用)を使用したい。
これが機能する方法は、ユーザーを認証した後、SAML IDプロバイダー(IdP)がSAML応答を含むブラウザーにフォームをレンダリングすることです-フォームの「アクション」(つまり、ターゲット)はサービスプロバイダー(SP)です。 HTMLには、フォームを送信するJavaScript onLoadイベントがあるため、最終的な効果は、ユーザーがIdPからSP、SAMLレスポンスを自動的に取得することです。
フォームを送信するためにユーザーがクリックする必要があるのは、JavaScriptが無効になっている場合のみです。この場合、SAML実装は通常、<noscript>
鬼ごっこ。
詳細については 数年前に書いたこの記事 を参照してください-ただし、 'Lightbulb'は現在廃止されています-PHP SAMLを参照してください simpleSAMLphp 。
クライアントがCA SiteMinderを使用したいのは残念です-オープンソース OpenAM (以前のOpenSSO)は、これを非常に簡単に実行します。
この記事 は非常にうまく説明しています。さまざまなプラットフォームの例もあります。
Siteminderが証明書利用者である場合、SAMLアーティファクトを取得してSMセッションを作成するカスタムエージェントを作成する必要があります。それ以外の場合は、この機能が既に構築されている製品を購入する必要があります。