5

Webアプリケーションに対してSAML2.0ベースの認証を構築しています。認証は、WSO2 Identity Server(WSO2-IS)に対して行われます。HTTPリダイレクトを使用して実際の認証を機能させることができました。ただし、IdentityServerから認証情報を「更新」しようとすると問題が発生します。

問題は、WSO2-ISが返すアサーションの有効期間が5分しかないことです。したがって、これに基づいて、5分ごとにWSO2-ISから新しいアサーションを取得する必要があります。ただし、WSO2-ISに対してこれを行う方法は、リダイレクトをさらに1回行う以外にありません。5分ごとにユーザーを別の場所にリダイレクトすることは、あまりユーザーフレンドリーではありません。

SAML 2.0はAuthnQueryリクエストを指定します。これは、SOAPoverHTTPを使用して実行されることになっています。私が正しく理解していれば、AuthnQueryはユーザーのアサーション情報を再要求するために必要なものですが、私にはWSO2-ISはこの要求をサポートしていないようです。

したがって、問題は、現在アクセスしているページからユーザーをリダイレクトすることなく、WSO2 Identity Serverからアサーション情報を更新(または再要求)するにはどうすればよいかということです。

4

2 に答える 2

1

答えは、WebブラウザのSSOプロファイル->使用法とメッセージ処理ルールの下のSAMLプロファイル仕様にあります。

上記のベアラ要素には、サービスプロバイダーのアサーションコンシューマサービスURLを含むRecipient属性と、アサーションを配信できるウィンドウを制限するNotOnOrAfter属性を含む要素が含まれている必要があります。

NotOnOrAfterは、メッセージが配信されなければならない時刻です。

考慮すべきことは、属性が存在SessionNotOnOrAfterするAuthnStatement場合の属性です。

プリンシパルのセキュリティコンテキストを確立するために使用されるものにSessionNotOnOrAfter属性が含まれている場合、サービスプロバイダーがこのプロファイルの使用を繰り返してプリンシパルのIDを再確立しない限り、この時間に達するとセキュリティコンテキストを破棄する必要があります。

SAMLプロファイル仕様

于 2013-02-08T14:12:06.093 に答える
0

Im not sure you can use that anyway. This is from the SAML spec

The message element is used to make the query “What assertions containing authentication statements are available for this subject?” A successful will contain one or more assertions containing authentication statements.

The message MUST NOT be used as a request for a new authentication using credentials provided in the request. is a request for statements about authentication acts that have occurred in a previous interaction between the indicated subject and the authentication authority.

You are talking about the NotOnOrAfter contraint on the assertion, right? As I understand it this just for when you can't trust that message anymore. I you read it before that time is up you can consider the user as authenticated. This is typicaly to prevent replay attaks.

于 2013-02-07T14:55:00.067 に答える