Как уже говорилось в других ответах, если вы хотите использовать omniauth с Facebook, просто следуйте ответу Михаила (вы получите ключ и секрет пользователя, зарегистрировавшись на Facebook).Если вы будете следовать этому шаблону, вы на самом деле будете проходить аутентификацию через facebook через OAuth2, а не через OpenID.
Если вы хотите использовать omniauth с поставщиком OpenID, например, с Google, шаблон немного отличается, например:
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 требует «хранилище» для хранения ассоциаций и одноразовых номеров, которые создаются в процессе аутентификации (в приведенном выше случае мы используем хранилище OpenID на основе ActiveRecord).С помощью вышеуказанной конфигурации перейдите по следующему URL:
${RAILS_ROOT}/auth/google
Должен запустить процесс аутентификации OpenID для Google.Если вы хотите использовать другого провайдера OpenID для аутентификации, вам нужно соответствующим образом изменить поля :name
и :identifier
.