authlogic и oauth-плагин - PullRequest
4 голосов
/ 30 июля 2009

кто-нибудь проверял - будет ли authlogic работать с oauth-плагином (https://github.com/pelle/oauth-plugin) или нет?

Ответы [ 3 ]

2 голосов
/ 08 апреля 2010

Краткий ответ: нет . В настоящее время я интегрирую oauth-plugin поставщика услуг с моей собственной системой аутентификации (которая предшествует authlogic , acts_as_authenticated и всем остальным).

oauth-plugin Поставщик услуг работает с помощью генератора кода, генерирующего два контроллера, которые затем связываются с некоторыми библиотечными файлами в плагине. Все эти файлы ожидают метод класса login_required с той же семантикой, которую использует acts_as_authenticated .

authlogic не делает никаких предположений о ваших контроллерах, поэтому он не будет работать "из коробки" с oauth-plugin , однако это конструктивное решение также означает, что оно будет довольно легко структурировать ваши контроллеры ожидаемым образом. Следовательно, должно быть (возможно, тривиально) легко создать прокладку для поддержки oauth-plugin .

Однако в моем случае я решил запустить генератор, чтобы извлечь из плагина то, что мне нужно, и удалить сам плагин. Основная причина, по которой я это делаю, заключается в том, что у меня явно нет метода login_required в моей системе аутентификации, поэтому мне пришлось бы обезопасить библиотеку, чтобы она заработала. Во-вторых, в плагине есть много вещей, которые мне просто не нужны. В-третьих, большая часть материала, который действительно является библиотечным, уже абстрагирована в собственно гем oauth , поэтому материал, находящийся в каталоге oauth-plugin lib, находится в этом странном нет. mans land между сгенерированным кодом и реальной библиотекой.

2 голосов
/ 22 февраля 2011

Я сейчас пытаюсь заставить это работать. Я просто катал свои собственные, используя аутентичные методы, чтобы заставить его играть хорошо. (Я пытаюсь заставить провайдера работать, поэтому authlogic-oauth мне не подходит)

Я буду редактировать, как я иду

def logged_in?
  return true if current_user 
end 

def login_required 
  return true if logged_in? 
  store_location 
  redirect_to new_user_session_path and return false                                                                                                                                                                                                                      
end 
1 голос
/ 31 июля 2009

Authlogic имеет специально разработанное для него дополнение, которое можно найти здесь .

...