一次ソースがみつからなかったので生成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は、期間が短いとちょくちょくログインしなおさないといけないのでほどほどのタイミングに設定しておく必要があると思います
ユーザー名は、AllowedUserNameCharctersに設定されている文字しかつかえないです。つまり日本語はNGです。
RequireUniqueEmailは、ユーザー名とEmailの関係の設定になります
false…ユーザー名は一意となる。同一メールアドレスでも異なるユーザー名が設定可能
true...
デフォルトはfalseです
デフォルトの条件は、6文字以上
数字、大文字、小文字、英数字以外をそれぞれ最低1文字含むことが条件