虽然我被重定向到Salesforce并且可以登录,但是让我回到我的MVC应用程序的握手似乎遇到了一个我无法确定的问题.我被重定向回登录页面,而.NET似乎并不知道我的登录信息,虽然我绝对有一个与Salesforce的活动会话(Salesforce仪表板将自动登录我).在代码中,事情在这里开始走向一边:
// GET: /Account/ExternalLoginCallback [AllowAnonymous] public async Task<ActionResult> ExternalLoginCallback(string returnUrl) { var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync(); if (loginInfo == null) { return RedirectToAction("Login"); } //more code we never reach }
loginInfo始终为空.所以,为了弄清楚哪些请求被发送到.NET,我转向Fiddler,并遇到一个对localhost:[port] / signin-salesforce的请求,一些参数会得到一个好奇的响应:
HTTP/1.1 302 Found
Location: /Account/ExternalLoginCallback?error=access_denied
Server: Microsoft-IIS/10.0
Set-Cookie: .AspNet.Correlation.Salesforce=; path=/; expires=Thu,01-Jan-1970 00:00:00 GMT
X-SourceFiles: =?UTF-8?B?YzpcdXNlcnNcc3RldmUuY2FtaXJlXGRvY3VtZW50c1x2aXN1YWwgc3R1ZGlvIDIwMTVcUHJvamVjdHNcU2FsZXNGb3JjZUludGVncmF0aW9uXFNhbGVzRm9yY2VJbnRlZ3JhdGlvblxzaWduaW4tc2FsZXNmb3JjZQ==?=
X-Powered-By: ASP.NET
Date: Fri,20 May 2016 21:46:09 GMT
Content-Length: 0
注意位置标题,它告诉.NET重定向到/ Account / ExternalLoginCallback,错误参数为“access_denied”.在Owin中启用一些跟踪显示有些东西在.NET或.NET中返回400,但是我不知道什么.
所以,那就是我在哪里.在我的控制器中的一个空的loginInfo对象,并证明某些Web请求出现问题.我已经发现了其他几个相关问题,但几乎没有人关注SalesForce,他们提供的答案并不真正适用(例如,我没有Google API可以启用).有什么想法如何纠正这个?