LinkedIn的OAuth失败

时间:2018-08-23 14:11:58

标签: asp.net oauth asp.net-identity linkedin

使用ASP.NET身份为Google,Twitter和LinkedIn进行外部登录,我已经完成所有这些工作,但是最近LinkedIn出于某种原因才停止。

当我进入登录页面并单击以通过LinkedIn进行登录时,它将带我到LinkedIn,并显示所有LinkedIn屏幕以进行登录然后授权该应用程序。我单击“允许”,并将控制权返回给我的ExternalLoginCallback中的AccountController.cs处理程序:

    public async Task<ActionResult> ExternalLoginCallback(string returnUrl)
    {
        var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync();
        if (loginInfo == null)
        {
            return RedirectToAction("Login");
        }
        //....
    }

问题是,对于LinkedIn,我得到loginInfo == null并被重定向回登录页面,但我不知道为什么。我看到的唯一线索是在请求网址中:

https://account.example.com:44301/Account/ExternalLoginCallback?error=access_denied

因此,LinkedIn已添加error=access_denied,但我感到困惑的是,为什么一切都看起来不错,并且以前的版本在我的工作中没有任何变化(该代码甚至几个月都没有被使用过)

通过Startup.Auth.cs中的LinkedIn登录设置如下:

        app.UseTwitterAuthentication(new Microsoft.Owin.Security.Twitter.TwitterAuthenticationOptions() {
           ConsumerKey = AuthKeys.TwitterKey,
           ConsumerSecret = AuthKeys.TwitterSecret,
            // Stupid twitter and their constantly changing certs: http://stackoverflow.com/questions/25011890/owin-twitter-login-the-remote-certificate-is-invalid-according-to-the-validati
           BackchannelCertificateValidator = new Microsoft.Owin.Security.CertificateSubjectKeyIdentifierValidator(new[]
           {
               "A5EF0B11CEC04103A34A659048B21CE0572D7D47", // VeriSign Class 3 Secure Server CA - G2
               "0D445C165344C1827E1D20AB25F40163D8BE79A5", // VeriSign Class 3 Secure Server CA - G3
               "7FD365A7C2DDECBBF03009F34339FA02AF333133", // VeriSign Class 3 Public Primary Certification Authority - G5
               "39A55D933676616E73A761DFA16A7E59CDE66FAD", // Symantec Class 3 Secure Server CA - G4
               "4eb6d578499b1ccf5f581ead56be3d9b6744a5e5", // VeriSign Class 3 Primary CA - G5
               "5168FF90AF0207753CCCD9656462A212B859723B", // DigiCert SHA2 High Assurance Server C‎A 
               "B13EC36903F8BF4701D498261A0802EF63642BC3" // DigiCert High Assurance EV Root CA
           })
        });

我尝试将Owin.Security.Providers.LinkedIn nuget软件包更新为最新版本,但无济于事。而且我什至尝试删除here中的BackchannelCertificateValidator(可能是已经更改,不再需要,结果相同)。

有人有任何线索吗?

0 个答案:

没有答案