2

私は SAML を学んでおり、SOAP バインディングに関して、これがどのように機能するのかわかりません。

リダイレクト バインディングとポスト バインディングの場合、SP がブラウザ経由で IdP と通信でき、必要に応じて IdP がログイン画面を表示できることは明らかです。

ただし、SOAP バインディングの場合、ブラウザーを経由する必要はありません。SP は、SOAP 要求で構成される HTTP 要求を IdP に送信するだけで済みます。その後、IdP が有効なユーザー セッションがないことを検出した場合、どのように表示できますか?ユーザーがユーザー名とパスワードを入力するためのログイン画面?

または、何か不足していますか?

4

2 に答える 2

3

認証は SAML 仕様の範囲外です。ただし、どの SAML プロファイルを見ていますか? これは Web SSO のためですか、それとも何か他のものですか? Web SSO の場合、SOAP は HTTP アーティファクト バインディングでのみ使用されます。つまり、AuthnRequest を解決する (IDP が SP を呼び出す) か、応答を取得する (SP が IDP を呼び出す) ことになります。Artifact は POST または Redirect 経由で送信され、メッセージ (AuthnRequest または Response) の解決はバックチャネル SOAP 経由で行われます。そのため、ブラウザー (http クライアント) は常に Web SSO に関与するため、IDP はブラウザーに適したテクノロジ (ユーザー名/パスワード HTML フォーム、2 要素の強力な認証、x509 証明書など) を介してユーザーを簡単に認証できます。

SAML バインディングで例を見つけることができます

POST /SamlService HTTP/1.1
Host: www.example.com
Content-Type: text/xml
Content-Length: nnn
SOAPAction: http://www.oasis-open.org/committees/security
<SOAP-ENV:Envelope
xmlns:SOAP-ENV=”http://schemas.xmlsoap.org/soap/envelope/”&gt;
<SOAP-ENV:Body>
<samlp:ArtifactResolve xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
ID="identifier_2"
Version="2.0"
IssueInstant="2004-12-05T09:22:04Z"
Destination="https://idp.example.org/SAML2/ArtifactResolution">
<saml:Issuer>https://sp.example.com/SAML2</saml:Issuer>
<samlp:Artifact>artifact</samlp:Artifact>
</samlp:ArtifactResolve>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

構文は正確ではない可能性があります。アイデアを与えるだけのもの。

于 2012-07-24T20:24:42.743 に答える
0

IdPがユーザーの認証を選択する方法は、SAMLの範囲外です。例を探している場合は、ユーザーに認証を求めるダイアログボックスを表示するネイティブアプリケーションがあるかもしれません。たぶん、IdPはSMSゲートウェイを介してテキストメッセージを送信し、特定の方法でテキストメッセージに応答する必要があります。空が限界です。

于 2012-07-24T18:15:39.597 に答える