首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Omniauth-google-oauth2只是允许身份验证,还是也满足了API需求?

Omniauth-google-oauth2只是允许身份验证,还是也满足了API需求?
EN

Stack Overflow用户
提问于 2012-06-17 04:24:28
回答 3查看 1.7K关注 0票数 4

我在概念上理解OAuth2时遇到了困难。关于握手的整个过程我已经读了上百遍了。我可以使用google帐户登录我的应用程序,但完成后,我需要访问Google的API (从我登录的同一个帐户上的Google电子表格中读取数据,并根据策略自述文件将电子表格包括在:范围中)。

目前,我正在使用Omniauth和omniauth-google-oauth2策略;这非常有效;它会弹出Google的身份验证/登录屏幕,当我返回到我的回调链接时,我会存储omniauthtoken。

那么,使用该令牌与Google Docs进行API工作的最佳方式是什么?

这是正确的方法吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-06-17 07:42:35

我认为Oauth2是一种“获取用户密码以确认他们在我的网站上存在的方式”。

因此,在本质上,它使用Google来表示“这家伙很酷”,而不是你的用户模型有一个密码栏。

现在,这和API调用有什么关系,你想知道...我也是。

如果我还记得的话,有一个谷歌刷新令牌,它的身份验证时间超过20ms,如果谷歌的应用程序接口允许你这样做的话,它将允许你访问他们的谷歌文档。

话虽如此,如果google需要他们的令牌,加上你的API令牌来访问他们的电子表格,我会把它放到会话中。

但是如果他们的API说要在作用域中粘贴电子表格,那么它一定也说明了如何一起使用它,不是吗?

更多编辑

Google Spreadsheets Oauth 2.0身份验证块在这里,有一个流。请注意有关刷新令牌的部分。我会调查这件事。

它说将它存储在某个地方,我会选择会话,或者如果你完全偏执于某个地方的db列,但也不确定这是否正确。只是在这里吐口水。

最终编辑

事实证明,即使是people helping out the Oauth 2.0 don't agree/get it在概念上也是如此。

票数 1
EN

Stack Overflow用户

发布于 2012-07-25 21:54:10

您也许能够找到一个封装了Google API的gem来简化您的任务。

Here's one that works with Google Drive and spreadsheets

票数 1
EN

Stack Overflow用户

发布于 2017-01-27 07:12:01

@Galen提到的google gem似乎与google-drive-ruby -oauth-2提供商配合得很好:

我猜你已经在你的回调处理程序中存储了会话中的令牌,例如

代码语言:javascript
复制
  auth = request.env["omniauth.auth"]
  session[:token] = auth["credentials"]["token"]

然后,您可以使用它来构建会话并访问工作表:

代码语言:javascript
复制
  require 'googleauth'

  session = GoogleDrive::Session.from_access_token(token)
  worksheet = session.spreadsheet_by_key(spreadsheet_id).worksheet_by_title(worksheet_name)
  ...etc

希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11066768

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档