Направляющие 3 аутентификации с OpenID, Твиттером или Facebook

Можно ли предложить некоторый рабочий пример его? Я попробовал Authlogic и Devise withous успех.

23
задан Sébastien Le Callonnec 20 January 2013 в 22:16
поделиться

4 ответа

ОБНОВЛЕНИЕ - июнь 2011 г. - Я недавно использовал omniauth gem и думаю, что это лучшее решение, чем использование драгоценных камней, предложенных в этом ответе. Он хорошо работает с Devise и даст вам все необходимое в одном драгоценном камне. Я создал движок, который сочетает в себе Devise и Omniauth и добавляет контроллер для обработки обратных вызовов. У меня запланировано довольно много изменений для драгоценного камня, и сейчас я не считаю его стабильным плагином, но вы можете повторно использовать часть кода в геме: https://github.com/charlotte -ruby / devise_omniauth_engine / blob / master / app / controllers / users / omniauth_callbacks_controller.rb


Недавно я получил это работающее на Rails 3 (с некоторыми проблемами с использованием OpenID). У меня нет полного рабочего примера, который вы могли бы посмотреть на github, но вот что я использую ... у всех есть примеры в файлах readme.

Facebook - fbgraph . В отличие от Facebooker, он использует новейший API Facebook. И источник очень легко понять, если вам захочется взглянуть на внутреннюю работу. Посмотрите на пример аутентификации в readme. Мертвая простота.

Twitter - twitter_oauth Опять же, посмотрите пример аутентификации readme. Это тоже было довольно легко настроить.

OpenID - rails / open_id_authentication использует гем ruby-openid, но само это репо не гем, поэтому вам придется перетащить код в свое приложение или поместить в каталог плагинов. Взгляните на их пример в файле readme, а также внимательно изучите исходный код, чтобы понять, что происходит (всего 130 строк кода). Я немного изменил его, чтобы он работал с моим плагином аутентификации, но у меня возникли некоторые проблемы, заставляющие его работать как с простой регистрацией, так и с обменом атрибутами одновременно ... но вы могли бы заставить его работать прямо из коробки, если пример rdoc подходит для вашего приложения.

Дайте мне знать, если у вас возникнут какие-либо конкретные вопросы по этому поводу. Я столкнулся с несколькими проблемами, которые я смог решить со всеми тремя, когда настраивал это.

16
ответ дан 29 November 2019 в 02:52
поделиться

Devise построен на Warden, что является правильным термином Google. Выполните поиск по 'warden openid', 'warden oauth' (твиттер) и http://github.com/britt/facebook-warden-strategy для facebook

2
ответ дан 29 November 2019 в 02:52
поделиться

AuthLogic имеет расширение OpenID.

Также это может помочь: http://www.michaelhamrah.com/blog/2009/05/authlogic-and-openid-on-rails/

0
ответ дан 29 November 2019 в 02:52
поделиться

Около недели я пытался (безуспешно) заставить open_id_authentication работать. Я пытался использовать Authlogic и все связанные с ним драгоценные камни и плагины. Я не мог заставить все работать так, как я хотел. (Аутентификация будет работать только с включенным маршрутом: action (/: id), но когда он был включен, другие мои контроллеры не работали, потому что что-то в плагине удаляло хэш params - очень неприятно).

Однако мне наконец удалось заставить OpenID работать с помощью Devise ( http://github.com/plataformatec/devise ) и devise_openid_authenticatable ( http://github.com/nbudin/ devise_openid_authenticatable ). Я смог следовать инструкциям на обеих страницах, чтобы все работало именно так, как я хотел. Простой. Простой. И Rails 3.0 совместим.

4
ответ дан 29 November 2019 в 02:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: