【问题标题】:How can we get the google auth token using DotnetOpenAuth?我们如何使用 DotnetOpenAuth 获取 google auth 令牌?
【发布时间】:2013-03-28 16:06:28
【问题描述】:

我正在 .net 中编写一个应用程序,它将帮助用户获取他们的 Google 阅读器订阅列表。

我正在考虑使用 DotnetOpenAuth 进行身份验证,然后获取 google 身份验证令牌。用户将在 Google 网站上输入 google 凭据,最后他们将使用身份验证令牌重定向到我的应用程序。现在使用这个身份验证令牌,我计划向谷歌阅读器端点发出请求,它将订阅列表作为 opml 文件返回。

有人知道吗?请分享。

【问题讨论】:

  • 这只是来自像您这样的程序员同行的温和评论。我知道这不会回答你的问题,但如果我是你,我不会花任何时间在这上面,因为谷歌阅读器很快就会被停用。 support.google.com/reader/answer/3028851
  • 我这样做的原因是因为谷歌阅读器几天后就会消失。我想从谷歌阅读器获取用户订阅。

标签: c# .net asp.net-mvc-4 dotnetopenauth google-reader


【解决方案1】:

我为 Google 编写了一个使用 OAuth2 的 DotNetOpenAuth 客户端。您应该可以使用它来取回身份验证令牌。

https://github.com/mj1856/DotNetOpenAuth.GoogleOAuth2

如果您使用来自Microsoft.AspNet.WebPages.OAuth 的新OAuthWebSecurity 类,那么您将在回调方法中的OauthWebSecurity.VerifyAuthentication 的结果中返回给您的Google 访问令牌。

更新 - 上面的答案专门针对 MVC4 中的 DotNetOpenAuth。 MVC5 不使用 DotNetOpenAuth,并且已经自带了 Google OAuth 解决方案。

【讨论】:

  • 使用 Google oAuth2 是否必须拥有 client_id、client_secret 等?
  • 是的。您在 Google 的dev console 上建立一个应用程序来获取它们。
  • 就没有别的办法了吗?
  • 当然不是。为什么 Google 会在您未经身份验证的情况下给您一个身份验证令牌?
  • 其实我是从 OAuth2 的角度说的。如果您想改用 OpenID,则不必预先注册您的应用程序。但我真的不确定当你使用 OpenID 时他们是否会给你一个身份验证令牌。这并不是真正的设计目的。
猜你喜欢
  • 2023-03-31
  • 2013-08-17
  • 1970-01-01
  • 2015-12-28
  • 1970-01-01
  • 2016-11-30
  • 1970-01-01
  • 2016-03-19
  • 2017-12-07
相关资源
最近更新 更多