Выполнил учебник Google OmniAuth, но получил отказ от сервера, как прочитать уведомление об отказе - PullRequest
0 голосов
/ 02 декабря 2011

Это учебник, которому я следовал. Прокрутите вниз до интеграции с открытым идентификатором Google:

https://github.com/plataformatec/devise/wiki/OmniAuth:-Overview

На сервере я получаю следующее сообщение об отказе после нажатия входа в систему с помощью ссылки Google:

WARNING: making https request to https://www.google.com/accounts/o8/id without verifying server certificate; no CA path was specified.
processing by users omniauthcallbackscontroller failure as html

РЕДАКТИРОВАТЬ следующие две строки исправили CA путь Предупреждение, но ничего не сделал, чтобы исправить ошибку как проблему html или переместить меня вперед

require "openid/fetchers"
OpenID.fetcher.ca_file = "/etc/ssl/certs/ca-certificates.crt"

Затем он перенаправляет меня к пользователям / sign_in.

Моя строка конфигурации устройства выглядит так:

config.omniauth :open_id, :store => OpenID::Store::Filesystem.new('/tmp'), :name => 'google', :identifier => 'https://www.google.com/acounts/o8/id', :require => 'omniauth-openid'

Мое исследование говорит мне, что я, вероятно, использую серверы openID, но я получаю отказ. Есть ли возможность получить дополнительную информацию из уведомления об отказе? Что может быть не так с моей просьбой?

Одна вещь, о которой я подумал, - это учетные данные для открытого ID, но я не увидел нигде в руководстве, где я должен был получить или ввести какие-либо учетные данные.

1 Ответ

0 голосов
/ 02 декабря 2011

Попробуйте указать ca_path:

config.omniauth :open_id, :store => OpenID::Store::Filesystem.new('/tmp'), 
                :name => 'google', 
                :identifier => 'https://www.google.com/acounts/o8/id', 
                :require => 'omniauth-openid', 
                :client_options => {:ssl => {:ca_path => '/etc/ssl/certs'}}

и посмотрите, работает ли он.

...