最新のテンプレートとライブラリではhttpsonlyフラグが使用されています。どうすればオフにできますか?
この同じ質問は時代遅れであり、完全な設定サンプルがありませんでした:
Identityを使用するときにアプリケーションCookieを構成するには、スタートアップのConfigureApplicationCookie
内で ConfigureServices
method を使用できます。
_// add identity
services.AddIdentity<ApplicationUser, IdentityRole>();
// configure the application cookie
services.ConfigureApplicationCookie(options =>
{
options.Cookie.SameSite = SameSiteMode.None;
});
_
Identityは基本的に内部でCookie認証を追加するため、これは構成アクションであり、Cookie認証の構成時にAddCookie()
に通常渡すアクションと同じです。 AddIdentity()
が認証を設定するので、ConfigureApplicationCookie
はCookie認証オプションを後で調整する方法を提供するだけです。
@pokeによる回答は、値をSameSiteMode.None
に設定するのに役立ちませんでした。少なくともASP.NETコア2.1にはありません。
アプリケーションCookieの構成で設定した値は、 Cookieポリシーミドルウェア のMinimumSameSitePolicy
設定によって上書きされます。
これにより上書きが防止され、MinimumSameSitePolicy
拡張機能のUseCookiePolicy
をSameSiteMode.None
として設定します。
app.UseCookiePolicy(new CookiePolicyOptions
{
MinimumSameSitePolicy = SameSiteMode.None
});
次に、ConfigureServices
メソッドのAddCookie拡張に実際の同じサイト値を設定します
services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
.AddCookie(options =>
{
options => options.Cookie.SameSite = SameSiteMode.None;
});