2011-10-19 9 views
3

問題:SPサイトxyz.com/Aが認証を必要とするリソースxyz.com/Bを要求します。 relay_state = xyz.com/BのSAML要求がiDPに送信されます。ユーザーは、SAML/SSOからidp.comにiDPサイトにリダイレクトされます。SAMLリクエストにreturnURLを追加するにはどうすればよいですか?

xyz.com/Bのリクエストをキャンセルしてxyz.com/Aで閲覧した場所に戻すためのリンクを実装したいと考えています。 SAMLリダイレクトがあったため、idp.comのrefererヘッダーを使用して、ユーザーの所在を特定することはできません。理想的には、SAMLリクエスト内にreturnURL = xyz.com/Aを送信したいと考えています。

質問にはそのような方法がありますか?私はあなたがこれを達成でき、標準のSAMLの方法を認識していないよ

おかげ

答えて

1

。あなたは、IdPにどこでキャンセルを行うかを伝えるためにカスタム拡張(クエリ文字列の追加パラメータなど)に依存する必要があります。

また、JavaScriptを使用して履歴にいくつかのステップを戻すこともできます(それほどエレガントではありませんが実用的ではありません)。たとえば、

window.history.go(-2) 
0

IDPはSPにSAML応答を返すことができます。 SAML応答では、Status要素を使用して、ユーザーが認証プロセスをキャンセルしたことを示すことができます。トップレベルのステータスコードとして、urn:oasis:names:tc:SAML:2.0:Responderを使用できます。自分のステータスコードを第2レベルのステータスコードとして使用することができます。

関連する問題