使用openid进行Google登录时是否存在omniauth策略?

时间:2012-05-01 22:38:01

标签: ruby-on-rails ruby openid omniauth

我知道有google-apps策略使用openid。我知道可以配置Omniauth的通用openid策略来处理常规(非应用)谷歌帐户。

我也知道有一个谷歌oauth战略。但是对于基本身份验证,不需要向Google注册应用程序,因为openid允许您在没有任何此类先决条件的情况下进行身份验证。 (目前,谷歌注册应用程序的表格已经在500上了。)

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

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

我个人使用设计和omniauth。查看devise OmniAuth Overview它显示了如何使用omniauth为google和yahoo设置openID。