1

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

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

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

要求:

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

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

我对吗?我也看过这篇文章,但似乎不是我要搜索的内容,我无法提前知道用户域是什么。

也许我将 gmail 帐户与 google 应用程序帐户混淆了,使用后者将使用户能够使用自己的帐户登录,或者他们都将只为整个域共享一个帐户?

omniauth完成这种登录的正确宝石吗?

谢谢!

4

3 回答 3

5

Omniauth 就是答案。我写了一个gem,它提供了一个 rake 任务来引导所有的 gem、路由、控制器等,以让应用程序对 google 进行身份验证。gem 让您开始使用日历 API,但其他谷歌应用程序以类似的方式工作。

于 2012-06-02T22:31:09.907 回答
0

OmniAuth is going to be your best bet to auth via 3rd party and meet your requirements. Have you given it a try?

于 2012-06-02T23:23:35.563 回答
0

你说得很对。用户将通过其 Google 帐户获得 SSO,并且在获得批准后将从您在 Google API 中设置的回调重定向回来。

您需要使用omniauth-openidgem 并在需要时设置您的白名单域。

于 2012-06-02T22:16:07.847 回答