ruby-on-rails - 将 Rails 应用程序与 Google Apps 集成

标签 ruby-on-rails ruby ruby-on-rails-3 omniauth

我正在启动一个新应用程序,我想与 Google Apps 集成。

我想让用户通过他们的 Google 帐户登录,并访问他们域的 Google API(列出所有域用户,并允许他们登录并共享相同的数据)。

我从来没有这样做过,所以我有点困惑我需要执行哪些步骤才能做到这一点,我已经阅读了网上的一些文档,并且我还查看了 omniauth。

要求:

  • 仅通过 Google Apps 帐户登录
  • 每个用户必须使用自己的用户/密码登录(谷歌帐户@domain.com)
  • 同一域的所有用户必须看到相同的共享数据(当然,该应用程序会注意哪些是公开的,哪些不是)。

在我看来,我需要做的就是: * 集成一个 OpenID 客户端(例如 omniauth) * 当用户确认 Google 会将用户重定向到我的应用程序上的回调 * 我现在有一个可以用来查询谷歌 API 的 token

我说的对吗? 我还浏览了 this article但这似乎不是我要搜索的内容,我无法提前知道用户域是什么。

也许我混淆了 gmail 帐户和 google apps 帐户,如果使用后者,用户将能够使用自己的帐户登录,或者他们将在整个域中只共享一个帐户?

omniauth 是完成这种登录的正确 gem 吗?

谢谢!

最佳答案

Omniauth 就是答案。我写了一个gem that provides a rake task to bootstrap所有的 gem 、路线、 Controller 等,以获得针对谷歌的应用程序验证。该 gem 可让您开始使用日历 API,但其他 Google 应用程序的工作方式类似。

关于ruby-on-rails - 将 Rails 应用程序与 Google Apps 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10865587/

相关文章:

ruby-on-rails - 在 Rails 中为经过身份验证的 POST 端点禁用 CSRF 保护是否安全?

ruby-on-rails - Rails/Devise - 如何显示注册信息(不仅仅是编辑它)

ruby-on-rails - 启动 Faye 的消息应用程序后出现 400 Bad request 错误

ruby-on-rails - 生成带参数的链接路径

ruby-on-rails-3 - 是否有可能在 PostgreSQL 中有一个 hstore 数组

ruby-on-rails - 如何在 Rack 中间件中使用 cookie?

ruby-on-rails - 在开发环境中覆盖 ActionMailer 的邮件地址

mysql - 如何在 Rails 5 迁移中为 MySQL 创建一个 UNSIGNED INT?

ruby-on-rails - 有许多通过复选框不保存值 Rails3

ruby-on-rails - 我可以在电子邮件上使用字体精美的图标吗