0

我知道有一种google-apps使用 openid 的策略。而且我知道可以配置 Omniauth 的通用 openid 策略以使用常规(非应用程序)谷歌帐户。

我也知道有一个 google oauth 策略。但是对于基本身份验证,无需向 Google 注册应用程序,因为 openid 允许您在没有任何此类先决条件的情况下进行身份验证。(谷歌注册应用程序的表格现在对我来说是 500 英镑。)

所以我正在寻找的是一种omniauth 策略,它可以为非应用程序帐户执行google openid 登录。应该非常简单,我可能只是构建它。但我想我会在这里问是否有人首先知道。

4

2 回答 2

3

不需要为此定制策略。如果您希望能够拥有一键式 Google 登录按钮,则有两种选择:

首先,您可以通过预先提供 OpenID 标识符来链接到它。设置一个普通的 OmniAuth OpenID 策略,然后在你的视图中添加如下内容:

<a href='/auth/open_id?openid_url=https://www.google.com/accounts/o8/id'>Sign in with Google</a>

或者,您可以使用 OmniAuth::OpenID 配置特定于 Google 的 OpenID 策略。这实际上是自述文件中的一个示例:

use OmniAuth::Builder do
  provider :open_id, :name => 'google', :identifier => 'https://www.google.com/accounts/o8/id'
end

在这种情况下,只需将用户发送到/auth/google.

于 2012-05-02T00:09:46.903 回答
0

我个人使用设计和omniauth。查看设计 OmniAuth 概述,它展示了如何使用omniauth 为google 和yahoo 设置openID。

于 2012-05-01T23:39:57.187 回答