ruby-on-rails - Omniauth-google-oauth2 是简单地允许身份验证,还是还满足 API 需求?

标签 ruby-on-rails oauth-2.0 omniauth google-spreadsheet-api

我在概念上无法理解 OAuth2。我已经阅读了一百次关于整个握手过程的信息。我可以使用 Google 帐户登录我的应用程序,但是一旦完成,我需要访问 Google 的 API(从我登录的同一帐户上的 Google 电子表格读取数据,并且我将电子表格包含在 :scope 中策略自述)。

目前,我正在使用 Omniauth 和 omniauth-google-oauth2 策略;这很好用;它会调出 Google 的身份验证/登录屏幕,当我回到回调链接时,我正在存储 [omniauth][credentials][token]。

然后使用该 token 与 Google Docs 进行 API 工作的最佳方法是什么?

这是正确的方法吗?

最佳答案

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

因此,实际上,您的 User 模型没有包含密码列,而是使用 Google 说“这家伙很酷”。

现在,这与 API 调用有什么关系,您想知道……我也是。

如果我记得,有一个 刷新 token 这会持续超过 20 毫秒的认证,并且允许您访问他们的 Google 文档,如果 Google 的 api 允许您这样做。

说了这么多,如果谷歌需要他们的 token ,加上你的 API token 来访问他们的电子表格,我会把它放在 session 中。

但是如果他们的 API 说将电子表格粘贴在范围内,那么它也必须说明如何一起使用它,不是吗?

更多编辑

Google Spreadsheets Oauth 2.0认证片就在这里,有一个流程。请注意有关刷新 token 的部分。我会调查一下。

它说将它存储在某个地方,我会选择 session ,或者如果您完全偏执某个 db 列,但不确定这是否正确。只是在这里吐痰。

最终编辑

结果甚至是 people helping out the Oauth 2.0 don't agree/get it从概念上讲。

关于ruby-on-rails - Omniauth-google-oauth2 是简单地允许身份验证,还是还满足 API 需求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11066768/

相关文章:

ruby-on-rails - Rails 如何在 Seeds.rb 中使用 FactoryGirl?

ruby-on-rails - Rails 3.x 是否有任何调试工具栏

oauth-2.0 - 为什么我可以在 Microsoft 身份平台 AAD v 2 上使用具有某些权限/范围的短名称?

android webview cookies禁用错误

ruby-on-rails - db :migration 后未生成 Ruby on Rails id 列

ruby-on-rails - 一个模型 "belongs_to"可以是一个/或多个模型吗?

oauth - Youtube OAuth 2.0 用户 token 有效期是多少?

javascript - OmniAuth 无法使用 Jquery Ajax 调用

ruby-on-rails-3 - 没有找到 omniauth 开发者策略的路线

ruby-on-rails - Omniauth 登录而不刷新页面?