Facebook/Google認証のみを使用するASP.NET 5 MVC 6アプリを作成しています。私はまた、全体のASP.NETアイデンティティなしクッキーのミドルウェアを使用しようとしている - この記事次 https://docs.asp.net/en/latest/security/authentication/cookie.html'SignInScheme'オプションを指定する必要があります
だから私は認証なしで空白のアプリで開始、その後Microsoft.AspNet.Authentication.Cookiesを追加し、 Microsoft.AspNet.Authentication.Facebook NuGetパッケージには、私が必要としないものは何も含まれていない非常に最小限のアプローチをとるためにパッケージされています。
Startup.csのConfigureに次のコードを追加しましたが、 "SignInSchemeオプションを指定する必要があります"というエラーが表示されています。私が逃しているものは何ですか?あなたが見ているエラーメッセージによって示されているように
app.UseCookieAuthentication(options =>
{
options.AuthenticationScheme = "MyCookieMiddlewareInstance";
options.LoginPath = new PathString("/Accounts/Login/");
options.AccessDeniedPath = new PathString("/Error/Unauthorized/");
options.AutomaticAuthenticate = true;
options.AutomaticChallenge = true;
});
app.UseFacebookAuthentication(options =>
{
options.AppId = "myFacebookAppIdGoesHere";
options.AppSecret = "myFacebookAppSecretGoesHere";
});
ありがとうございます。フォローアップの質問: "MyCookieMIddlewareInstance"は私のクッキーの名前ですか?彼がFacebook/Googleによって認証された後に登録するための一時クッキーを作成する必要があります。私は別のクッキー名を使用しますか?その場合、そのCookie名はどこで設定しますか? – Sam
いいえ、AuthenticationSchemeはCookie名に影響を与えません。純粋に内部識別子です。クッキー名を変更するには、 'CookieName'プロパティを使用します。 – Pinpoint
明示的なAuthenticationSchemeを設定していない場合は、CookieAuthenticationDefaults.AuthenticationSchemeです。 – Kugel