2011-08-26 114 views
2

我使用设计& Omniauth我的轨道3.0.7应用程序,我已经建立了一个有效的Twitter和Facebook登录。我刚刚得到了谷歌企业应用套件登录通过与以下行omniauth在config/initializers/omniauth.rb工作:Rails谷歌登录omniauth

require 'openid/store/filesystem' 
use OmniAuth::Strategies::GoogleApps, OpenID::Store::Filesystem.new('/tmp') 

provider :openid, OpenID::Store::Filesystem.new('./tmp'), :name => 'google', :identifier => 'https://www.google.com/accounts/o8/id' 

但是这会导致与谷歌Apps的登录。我如何才能让用户使用其标准Google帐户登录,而不是Google Apps(适用于企业)?这甚至是由Omniauth支持的吗?

回答

0

我已将此作为gem实施。如果你有兴趣,你可以使用宝石本身或探索它的源代码。这很简单。

这是the engine file它配置设计。为了支持你的代码标准谷歌帐户,你需要指定:domain选项,指出here

config.omniauth :google_apps, OpenID::Store::Filesystem.new('/tmp'), :domain => 'gmail.com' 
3

以前的答案可能不会在omniauth> 1.0工作。 看起来目前的做法是为每个要使用的策略添加宝石。你可以在这里找到的策略列表:

https://github.com/intridea/omniauth/wiki/List-of-Strategies

一个问题我遇到的是,新谷歌API返回的回调URL,它是太长的WEBrick。这可以通过运行薄或杂种的开发工作。