39

SAML SSOは通常どのように実装されますか?

Google AppsでのSAMLの使用とSAMLに関するウィキペディアのエントリについてこれを読みました(nbは廃止されました) 。

ウィキペディアのエントリでは、SAMLRequestとSAMLResponseの詳細を含むフォームでの応答について説明しています。これは、ユーザーがシングルサインオンを続行するために、フォームを物理的に送信する必要があることを意味しますか?

グーグルのエントリは、リダイレクトの使用について話しますが、それは私にはもっと見えないようです。ただし、ユーザーが送信する必要のある応答にフォームを使用する方法についても説明します(ただし、JavaScriptを使用してフォームを自動的に送信する方法についても説明します)。

これはこれを行うための標準的な方法ですか?フォームの送信にリダイレクトとJavaScriptを使用していますか?

WindowsドメインとJ2EEWebアプリケーションの間にSSOを実装する方法について、他の優れたリソースを知っている人はいますか。Webアプリケーションは別のネットワーク/ドメイン上にあります。クライアントがCASiteminder(SAMLを使用)を使用したいと考えています。

4

3 に答える 3

30

これが機能する方法は、ユーザーを認証した後、SAML ID プロバイダー (IdP) が SAML 応答を含むフォームをブラウザーにレンダリングすることです。フォームの「アクション」 (つまり、ターゲット) はサービス プロバイダー (SP) です。HTML には、フォームを送信する JavaScript onLoad イベントがあるため、最終的な効果として、ユーザーは IdP から SP に自動的に移動し、SAML 応答が手元にあるということになります。

ユーザーがフォームを送信するために何かをクリックする必要があるのは、JavaScript が無効になっている場合のみです。この場合、SAML 実装は通常、<noscript>タグ内で押すボタンを含むメッセージを提供します。

詳細については、私が数年前に書いたこの記事を参照してください。ただし、「Lightbulb」は現在では廃止されていることに注意してください。PHP SAML については、simpleSAMLphpを参照してください。

クライアントが CA SiteMinder を使用したいと思うのは残念です。オープン ソースのOpenAM (以前は OpenSSO として知られていた) を使用すると、これを非常に簡単に行うことができます。

于 2009-05-02T23:29:09.250 に答える
6

この記事は非常によく説明しています。さまざまなプラットフォームの例もあります。

于 2011-12-07T15:59:47.000 に答える
0

Siteminder が証明書利用者である場合、カスタム エージェントを作成して SAML アーティファクトを取得し、SM セ​​ッションを作成する必要があります。それ以外の場合は、この機能が既に組み込まれている製品を購入する必要があります。

于 2009-05-02T12:24:12.030 に答える