Вопрос

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

Это было полезно?

Решение

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

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

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

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

Другие советы

Я сейчас пытаюсь заставить это работать. Я просто катал свои собственные, используя аутентичные методы, чтобы заставить его играть хорошо. (Я пытаюсь заставить провайдера работать, поэтому 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 

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

scroll top