我正在看一下asp.net mvc 4附带的默认OAuth实现。这绝对令人印象深刻,因为我所要做的就是在AuthConfig.cs中添加这一行:
OAuthWebSecurity.RegisterLinkedInClient("_key_", "_secret_");
启用上面,确实提供了LinkedIn链接登录。我被提示输入密码一次,但进入后我得到了:
“登录失败。使用服务登录失败。”
,自从w / out再次被提示输入密码以来,一直都是这样做的。
我不清楚这是由于我输入的初始错误凭据,还是我设置密钥的方式。
另外,我在我的应用程序中的任何地方都没有看到实际的控制器代码,所以即使我的登录工作,也不清楚我如何从链接中获取信息...即历史。
这种整合很容易,但我倾向于more manual implementation of this?
然而,我不禁怀疑上面的实现可能也有效。更新
我已经将问题追溯到这个电话:
public ActionResult ExternalLogin(string provider, string returnUrl) {
return new ExternalLoginResult(provider, Url.Action("ExternalLoginCallback", new { ReturnUrl = returnUrl }));
}
使用 “401 Unauthorized” 来回复,即使凭据正确无误。从我可以在其他帖子中收集的内容,这可能是由于OAuth库错误地形成了标题?
答案 0 :(得分:7)
我遇到了同样的问题,看起来这是一个错误。
请参阅“Paul Roa”对此帖的评论:
然后他的解决方案(对我有用),在这里:
http://blog.mrroa.com/post/30454808112/asp-net-custom-linkedin-oauth-provider
答案 1 :(得分:2)
我遇到了同样的问题。
我使用NuGet更新了所有OAuth包,现在一切正常。
答案 2 :(得分:2)
似乎OAuth在vs2012中发布了一个错误。以下是解释错误原因的教程。 http://www.devcurry.com/2013/01/connect-to-linkedin-using-oauth-in.html
我还必须更新Nuget才能更新DotNetOpenAuth.Core包。更新后,它按预期工作。希望有人觉得这很有用。
答案 3 :(得分:1)
听起来很糟糕,它对我来说很好。遗憾的是,该模板不允许更改密码或删除帐户,但您可以删除LinkedIn连接,然后从您的LinkedIn登录名创建一个新帐户再试一次。
至于他们使用和扩展它的实现,我还没有去研究它。计划这样做,因为我也在考虑使用它,如果它看起来不错。