、これは動作しますが、私はアイデンティティを使用してASP MVCのCore 2アプリでセットアップクッキー認証に次のことをやっている:AddAuthenticationを使用した場合のAsp MVCのCore 2アイデンティティは、クッキー名を設定していない()AddCookie()
services.ConfigureApplicationCookie(options =>
{
options.ExpireTimeSpan = TimeSpan.FromDays(1);
options.SlidingExpiration = true;
options.LoginPath = "/Account/LogIn";
options.LogoutPath = "/Account/LogOff";
options.Cookie.Name = "MyCookieName";
options.AccessDeniedPath = "/Account/AccessDenied";
});
は、私がこのアプリにJWTを追加したいとドキュメントhereによると、私がやること(上記と同じ設定に基づいて)このようなものを使用することにより:
services.AddAuthentication()
.AddCookie(options =>
{
options.ExpireTimeSpan = TimeSpan.FromDays(1);
options.SlidingExpiration = true;
options.LoginPath = "/Account/LogIn";
options.LogoutPath = "/Account/LogOff";
options.Cookie.Name = "MyCookieName";
options.AccessDeniedPath = "/Account/AccessDenied";
})
.AddJwtBearer(options =>
{ // options });
私はこれを行う
(私がtを離れても彼はAddJwtBearer
チェーン)クッキーはもはや私が指定した名前が与えられていません。ログインプロセスはまだ動作し、私はクッキーを取得しますが、デフォルトのAspクッキー名になります。
オプションを設定するこれらの2つの方法は同じで、ConfigureApplicationCookie
は同じことの単なるショートカットメソッドであると仮定します。
何か不足していますか?
おかげで、 ブライアン
あなたは 'AddAuthentication()'に認証スキームの名前を提供する必要があります。 'AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)'を試してみてください。 –
Davidに感謝します。私はそれをして、私は同じ結果を得る、クッキーは 'MyCookieName'ではなく '.AspNetCore.Identity.Application'という名前です。 – Brian
ちょっと奇妙な、私は認証方式を指定しなければならなかった。それを空白のままにしておくと、「authenticationSchemeが指定されておらず、DefaultChallengeSchemeが見つかりませんでした」というエラーが表示されます。 「.AspNetCore.Identity.Application」というCookie名から、Identity Server 4を使用していますか? –