ASP.NET Core WebアプリのIdentityに関するCookieの設定について

一次ソースがみつからなかったので生成AIの情報をそのままペタッと
./program.csに以下項目でidentityに関するcookieの挙動を設定ができるそうです

builder.Services.ConfigureApplicationCookie(options =>
{
    // Cookie settings
    options.Cookie.HttpOnly = true;
    options.ExpireTimeSpan = TimeSpan.FromDays(14);

    options.LoginPath = "/Account/Login";
    options.AccessDeniedPath = "/Account/AccessDenied";
    options.SlidingExpiration = false;
});

HttpOnly・・・クッキーが HTTP リクエストでのみ送信され、JavaScript からはアクセスできないようにします
補足:セキュリティ: HttpOnly フラグが設定されたクッキーは、クロスサイトスクリプティング(XSS)攻撃から保護されるため、セキュリティが向上します。JavaScript からクッキーの値を読み取ることができなくなり、クッキーに保存されている情報(例えば認証トークン)が盗まれるリスクが低くなります

ExpireTimeSpan・・・クッキーの有効期限を設定します。ここでは、クッキーが 14日後に期限切れとなります

LoginPath・・・ 認証が必要なリソースにアクセスしようとしたときに、リダイレクトされるログインページのパスを指定します

AccessDeniedPath・・・ユーザーがアクセス権のないリソースにアクセスしようとしたときにリダイレクトされるページのパスを指定します

SlidingExpiration ・・・クッキーの有効期限が、ユーザーのアクティビティがあるたびに延長されるかどうかを指定します


HttpOnlyはセキュリティの観点からtrue
SlidingExpiration もセキュリティの観点からfalse(時間がきたら強制的に切れる状態のほうが安全)
パス関係は、必要に応じてカスタムページを設定した場合は、その設定を行う必要アリだと思います
ExpireTimeSpanは、期間が短いとちょくちょくログインしなおさないといけないのでほどほどのタイミングに設定しておく必要があると思います

投稿日時: 2024-08-31 15:38:31
更新日時: 2024-09-01 05:33:01

内部リンク

最近の投稿

タグ

アーカイブ

その他