2

Identity Serverにログインすると、認証Cookie idsrvがブラウザに保存されます。ユーザーがログアウトすると、Cookieが削除されます。ただし、攻撃者はCookieを盗み、ユーザーがログアウトしても本質的にそのCookieを使用することができます。フェデレーション認証とセッション管理

これは多くのIDプロバイダにとっても「正常」な動作です。

質問

は、それが行動を受け入れますか?

ユーザーがログアウトし、idsrv Cookieの値(トークン)が有効ではなくなったことを検出する方法はありますか?たとえば、ログアウトしたユーザーを追跡するためにIAuthenticationSessionValidatorを実装する必要がありますか?または、これは、id_tokenのsession_stateクレームを使用してアプリケーションに属している必要がありますか?

+0

このチケットはあなたの質問に関連していますか? https://github.com/IdentityServer/IdentityServer3/issues/2921 – Arve

+0

いいえ2つのCookieがアプリケーションに格納され、1つがidsrvに格納されます。 idsrとlogoutでクッキーをコピーして、idsr endsessionエンドポイントを呼び出すとログアウトして、クッキーが削除されているのを確認してから、もう一度ログインしてクッキーを編集してidsrにペーストすることができます。私は、セッションID(id_tokenのsidクレーム)がクッキーに格納されているトークンにバインドされていることを確認し、それを検証する必要があります。これは、.Netセッション管理のようなフレームワークによってしばしば処理されます。しかし、私にとってはフェデレーション認証に向かうと忘れ去られてしまったようです。 – jhougen

答えて

0

OWASP ASVS要件3.2 Sessions should be invalidated on user logoutによると、アプリケーションからログアウトした後で同じCookieを使用することはできません。これは、ADFSやAADのような他のIDプロバイダを使用している場合も同様です。