我想LinkedIn認證添加到我的ASP.NET 2.0的核心應用程序,但得到以下錯誤:設置LinkedIn/OAuth認證在ASP.NET核2.0
No authentication handler is configured to handle the scheme: LinkedIn
下面是如何添加LinkedIn /在Startup.cs
的ConfigureServices
OAuth認證:
services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
.AddCookie("internal_cookie", options => {
options.AccessDeniedPath = "/Account/Forbidden/";
options.LoginPath = "/Account/Login";
})
.AddCookie("external_cookie")
.AddOAuth("LinkedIn", options => {
options.SignInScheme = "external_cookie";
options.ClientId = "1234567890";
options.ClientSecret = "1234567890";
options.CallbackPath = "/linkedin-callback";
options.AuthorizationEndpoint = "https://www.linkedin.com/oauth/v2/authorization";
options.TokenEndpoint = "https://www.linkedin.com/oauth/v2/accessToken";
options.UserInformationEndpoint = "https://api.linkedin.com/v1/people/~:(id,first-name,last-name,email-address,picture-url,picture-urls::(original))";
options.Scope.Add("r_basicprofile");
options.Scope.Add("r_emailaddress");
options.Events = new OAuthEvents
{
OnCreatingTicket = OnCreatingTicketLinkedInCallBack,
OnTicketReceived = OnTicketReceivedCallback
};
})
.AddFacebook(options =>
{
options.AppId = "1234567980";
options.AppSecret = "1234567890";
options.Events = new OAuthEvents
{
OnCreatingTicket = OnCreatingTicketFacebookCallback,
OnTicketReceived = OnTicketReceivedCallback
};
})
.AddGoogle(options =>
{
options.ClientId = "1234567890";
options.ClientSecret = "1234567890";
options.CallbackPath = "/google-callback";
options.Events = new OAuthEvents
{
OnCreatingTicket = OnCreatingTicketGoogleCallback,
OnTicketReceived = OnTicketReceivedCallback
};
});
哪裏是我的錯誤?
UPDATE: 進行更正建議,我現在得到以下錯誤後:
No IAuthenticationSignInHandler is configured to handle sign in for the scheme: social_login
我剛剛發佈了一個更新到我原來的PO ST。我真的很高興這已經出現了。我想使用不同的方案,這樣我的內部生產的cookie將具有不同於我從社交認證提供商那裏獲得的「名稱」。我只是不知道如何處理我收到的新錯誤。 – Sam
您的Cookie處理程序實例是否名爲'social_login'?發佈整個代碼會有所幫助。 – Pinpoint
更新了原始文章中的整個代碼部分,向您展示了我的整個身份驗證配置部分。 – Sam