10

Shibboleth を使用して、サービス プロバイダーのテスト ページに正常にログインしています。次に、/Shibboleth.sso/Session ページに移動すると、次のように表示されます。

Attributes
affiliation: 1 value(s)
entitlement: 1 value(s)
eppn: 1 value(s)
persistent-id: 1 value(s)
unscoped-affiliation: 1 value(s)

私の質問は...どうすればこれらの値を読み取ることができますか? Fiddler の HTTP Request ヘッダーにそれらが表示されません。

私の Web アプリケーションは、ASP.NET MVC 4 (C#) で実装されます。

4

3 に答える 3

11

のセッション ハンドラで を設定showAttributeValuesすることもできます。これは本番環境では推奨されないことに注意してください。次に、shibboleth サービスを再起動します。セッション ページの属性セクションには、実際の値が含まれます。trueshibboleth2.xml

<!-- Session diagnostic service. -->
<Handler type="Session" Location="/Session" showAttributeValues="true"/>
于 2015-07-01T23:04:35.823 に答える
10

Request.ServerVariablesオブジェクトを使用して、IdP から送信された Shibboleth SAML 属性を読み取ることができます。

string server = Request.ServerVariables["HTTP_FIRSTNAME"];

セッション内のすべての属性を一覧表示して印刷する場合は、 これを参照してください。IdP が送信する可能性のあるカスタム属性を処理するために、

Shibboleth attribute-map.xmlを忘れずに構成してください。

<Attribute name="firstname" id="firstname" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
    <AttributeDecoder xsi:type="StringAttributeDecoder"/>
</Attribute>
于 2013-08-29T09:29:54.357 に答える
1

あなたがフィドラーについて言及したので、私は先に進み、(質問から数年後に)「SAMLトレーサー」と呼ばれる本当に素晴らしいFirefoxブラウザーアドオンがあることを追加します. (「saml tracer」を検索するだけで、mozilla アドオン ページが見つかります。) Firefox にインストールすると、そのウィンドウを開くことができ、すべての http 要求と応答が表示されます。何かに saml が含まれている場合は、URL の横に「SAML」タグが表示されます。次に、その URL をクリックして [SAML] タブを選択し、idp または sp とブラウザの間で送信されたすべての saml を読み取ることができます。これは非常に優れたインライン トラブルシューティング ツールであるため、sp や idp をいじる必要はありません (またはそれらにアクセスする必要さえありません)。

于 2015-07-24T17:58:36.227 に答える