1

バックエンドに Asp.net mvc コントローラーを備えた Javascript SPA であるアプリを構築しています。認証に IdentityServer を使用しようとしています。コントローラーに authorize 属性があります。私が持っている要件の 1 つは、ユーザーのセッションが一定の時間内に期限切れになる必要があることです (アクティビティがない場合、ユーザーはログインを求められる必要があります)。セキュリティ上の制限により、暗黙的なフローが機能しません。Identity4 のサンプルを入手しましたhttps://github.com/IdentityServer/IdentityServer4.Samplescookieauthentication ミドルウェアを使用してみました。ExpireTimeSpan を設定して、Cookie の有効期限が切れるかどうかを確認しました。指定されたタイムスパンの期限が切れた後でも、どういうわけか、コントローラーを呼び出すことができます。Identity Server と Asp.net mvc で asp.net セッション タイムアウトに似た処理を行うにはどうすればよいですか?

4

1 に答える 1

1

これは既知の問題であり、 https://github.com/aspnet/Security/pull/893を参照してください。1.1.0で修正されています。

バージョン 1.1.0 を待つか、使用OnTokenValidatedして期限切れプロパティを設定します。

OnTokenValidated = async (context) =>
{
     context.Properties.ExpiresUtc = <expire>;
     await Task.FromResult(0);
}

別の解決策についても参照してください: https://github.com/aspnet/Security/issues/855#issuecomment-229495399

于 2016-09-27T12:08:14.327 に答える