2009-08-18 2 views
10

Как бы вы могли позволить себе войти в систему с несколькими учетными записями openid и, при необходимости, паролем, используя authlogic?Authlogic openid с несколькими идентификаторами openid на одну учетную запись

+0

+1, я хотел бы увидеть пример этого тоже. Бен (автор Authlogic), упомянутый здесь, это одна строка конфигурации, но я не знаю, какую строку. См. Здесь: http://bit.ly/2Bu9D – ryanb

+0

@ryanb, я сомневаюсь, что это настраивается, но на самом деле надеемся, что окажется ошибочным, вся реализация, похоже, полагается на изменения в таблице пользователя, а не has_many на openid url table. –

ответ

0

Я не знаю об одной конфигурации линии, чтобы выполнить это, но find_by_login_method предоставит вам первую часть использования нескольких openids. Что касается дополнительного пароля, вам, вероятно, придется сделать некоторую проверку с помощью verify_password_method, чтобы определить, когда этот пароль необходим.

+0

Как это будет работать? Действует ли act_as_authentic в модели User? Является ли openid_identifier только используемым в методе find_by_login в Authlogic, чтобы он работал, чтобы иметь его в отдельной таблице? – ryanb

+0

Также как насчет валидации? Я считаю, Authlogic добавляет проверки атрибуту openid_identifier, есть ли хороший способ игнорировать их в User и применять их в отдельной модели? – ryanb

1

Похоже, если вы установите find_by_openid_method, вы можете ссылаться на что угодно: http://authlogic-oid.rubyforge.org/

Из документов:

class User < ActiveRecord::Base 
    def self.find_by_openid_identifier(identifier) 
    user.first(:conditions => {:openid_identifiers => {:identifier => identifier}}) 
    end 
end 
+0

Спасибо. Вы знаете какой-либо модуль для включения в модель OpenidIdentifier, чтобы он мог выполнять некоторые функции? Такие как проверки и автокоррекция открытого URL. – ryanb

+0

Угадайте здесь, но в том числе AuthlogicOpenid :: ActsAsAuthentic выглядит хорошим кандидатом на эту функциональность. – stonean

+0

Проблема с искателем заключается в том, что вам может потребоваться использовать данные, возвращаемые поставщиком openid, такие как поля ax или sreg, поэтому вам нужно также подключиться, когда эта информация вернется, чтобы вы могли заполнить модель. Кроме того, вы не хотите хранить свой идентификатор openid в своей пользовательской таблице. –

 Смежные вопросы

  • Нет связанных вопросов^_^