4

我正在查看 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 库的标题格式不正确?

4

4 回答 4

7

我有同样的问题,看起来这是一个错误。

请参阅此帖子的“Paul Roa”评论:

http://blogs.msdn.com/b/webdev/archive/2012/08/15/oauth-openid-support-for-webforms-mvc-and-webpages.aspx?PageIndex=2

然后是他的解决方案(对我有用),在这里:

http://blog.mrroa.com/post/30454808112/asp-net-custom-linkedin-oauth-provider

于 2012-10-10T18:40:01.027 回答
2

我有同样的问题。

我使用 NuGet 更新了所有 OAuth 包,现在一切正常。

于 2013-01-08T21:51:34.923 回答
2

似乎 OAuth 在 vs2012 中带有错误。这是解释错误原因的教程。http://www.devcurry.com/2013/01/connect-to-linkedin-using-oauth-in.html

我还必须更新 Nuget 才能更新 DotNetOpenAuth.Core 包。更新后,它按预期工作。希望有人觉得这很有用。

于 2014-03-23T09:32:58.977 回答
1

听起来像是糟糕的凭据,对我来说效果很好。遗憾的是,该模板不允许更改密码或删除帐户,但您可以删除 LinkedIn 连接,然后从您的 LinkedIn 登录创建一个新帐户以重试。

至于他们使用和扩展它的实现,我还没有开始研究。计划这样做,因为如果它看起来不错,我也在考虑使用它。

于 2012-10-07T19:09:06.970 回答