【问题标题】:Avoid first Google OAuth 2.0 authorization避免第一次 Google OAuth 2.0 授权
【发布时间】:2014-07-20 00:20:20
【问题描述】:

我制作了一个使用 Google 的 OAuth 访问 Google Sites API 的应用。它工作得很好,但我想要更少的用户操作,尤其是当你第一次必须接受谷歌的权限,获取授权令牌,获取访问和刷新令牌时。

我想知道是否有可能避免所有这些步骤(对于用户,并在应用程序后面执行),在带有 HTTP 请求的代码或谷歌库中,只需要通知谷歌帐户(邮件/密码)以获取访问/刷新令牌。

您对此有什么建议或知识吗?

提前致谢

【问题讨论】:

  • 所以您希望 Google 只允许您访问用户数据,而不先询问用户您是否可以访问?这听起来不太安全。不,您不能这样做,这就是身份验证的全部意义所在。
  • 不,这不是我想要的,因为正如你所说,它不是很安全。我想避免最终用户的谷歌授权,并通过代码无缝地完成。最后,用户只需要提供基本凭据,就会自动获得授权。

标签: oauth-2.0 google-api google-oauth access-token google-sites


【解决方案1】:

当我使用谷歌分析 api 时,我做了一些研究,最少的过程是: 用户单击您网页上的身份验证链接,然后在安全提示您输入登录名和密码时被重定向到外部谷歌网页。没有别的了。 这个 oauth 刷新令牌你可以自动化 - 在谷歌文档中阅读这个 - 有一些关于这个的信息。我是通过从谷歌代码更改一个简单的 hello world 分析应用程序来完成的。 我记得你必须知道 php 中的类是什么,并在简单的应用程序中更改 oauth 包装器。它可以自动存储和处理刷新令牌 - 正如我所说,用户需要输入登录名和密码,但它可以存储在 cookie 中,所以只做一次。

【讨论】:

  • 如果我发出一些 HTTP POST 请求以获取授权,并从 google 获取 cookie 或响应怎么办?完美的方式应该是登录名/密码,并使用此凭据发出一些请求以获取授权令牌,另一个请求以获取访问和刷新令牌,仅此而已。
  • 您必须重定向到 google 授权,该授权会将您重定向到您在 api 配置选项中指定的 url。然后您可以使用 api 并获取刷新令牌。你想完全避免谷歌授权吗?
  • 我找到了一个解决方案,我正在努力:我可以用一个简单的帐户(使用 HTTP 请求)向谷歌验证自己,现在我尝试模拟点击以避免授权另一个 HTTP 请求(POST 方法)
猜你喜欢
  • 2014-05-05
  • 1970-01-01
  • 2013-03-16
  • 2015-09-24
  • 1970-01-01
  • 2012-08-27
  • 2012-06-19
  • 2014-05-29
  • 1970-01-01
相关资源
最近更新 更多