正如其他答案所說,如果你想使用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。 –