我正在查看 asp.net mvc 4 附带的默认 OAuth 实现。这绝对令人印象深刻,因为我所要做的就是在 AuthConfig.cs 中添加这一行:
OAuthWebSecurity.RegisterLinkedInClient("_key_", "_secret_");
启用上面,确实提供了LinkedIn链接来登录。我被提示输入一次密码,但输入后我得到:
“登录失败。使用服务登录失败。”
,并且自从没有再次提示输入密码以来一直得到这个。
我不清楚这是由于我输入的初始凭据错误,还是我设置密钥的方式。
此外,我在我的应用程序中的任何地方都看不到实际的控制器代码,所以即使我的登录成功,也不清楚我如何从链接中获取信息......即历史记录。
很高兴这种集成有多容易,但我倾向于更手动地实现它?
但是我不禁想知道上述实现可能也有效。
更新
我已经追踪到这个电话的问题:
public ActionResult ExternalLogin(string provider, string returnUrl) {
return new ExternalLoginResult(provider, Url.Action("ExternalLoginCallback", new { ReturnUrl = returnUrl }));
}
回调返回“401 Unauthorized” .. 即使凭据是正确的。从我可以在其他帖子中收集到的信息来看,这可能是由于 OAuth 库的标题格式不正确?