正如其他答案所说,如果你想使用Facebook的omniauth,那么简单地按照米哈伊尔的答案,(你得到消费者密钥和秘密通过与Facebook注册)。如果你遵循这种模式,你实际上会通过OAuth2与Facebook进行身份验证,而不是通过OpenID进行身份验证。
如果你想与像谷歌,例如OpenID提供使用omniauth,图案略有不同。例如:
Rails.application.config.middleware.use OmniAuth::Builder do
provider :openid, ActiveRecordOpenidStore::ActiveRecordStore.new, :name => 'google', :identifier => 'https://www.google.com/accounts/o8/id'
end
OpenID的需要“存储”存储协会和随机数是那些获得认证过程中产生进程(在上面的例子中,我们使用的是基于ActiveRecord的OpenID存储)。通过上述配置转到以下网址:
${RAILS_ROOT}/auth/google
应该启动对谷歌的OpenID身份验证过程。如果您想使用其他OpenID提供程序进行身份验证,则需要适当更改:name
和:identifier
字段。
是的,OmniAuth支持Facebook。 –