Сочетание аутентификации OpenID и Facebook - PullRequest
5 голосов
/ 13 марта 2009

Можно ли использовать комбинацию систем аутентификации в веб-приложении?

Я хочу использовать OpenId, однако я думаю, что мои потенциальные клиенты на самом деле чаще имеют идентификатор Facebook.

Поэтому мне интересно, можно ли предложить оба типа аутентификации?

Ответы [ 4 ]

3 голосов
/ 13 марта 2009

Facebook присоединился к фонду OpenID , поэтому, возможно, они скоро будут внедрять OpenID (в этом случае может быть лучше просто использовать OpenID).

2 голосов
/ 13 марта 2009

Вы хотите RPX . Он абстрагирует весь беспорядок OpenID от вас и ваших посетителей. Это также позволяет им проходить аутентификацию через Facebook или MySpace в дополнение к поставщикам OpenID.

Он предоставляет интерфейс входа в систему, очень похожий на тот, который вы видите здесь, в Переполнении стека.

2 голосов
/ 13 марта 2009

Почти для каждого языка должна быть Framework! Вы можете связать / обернуть функциональность этих фреймворков, чтобы определить ваши потребности!

В псевдокоде:

if(IsUserValidViaOpenId() || IsUserValidByOwnAuthDB()) ...  user auth successful

Если вы используете Java, Acegi / Spring Security может быть лучшим способом (безопасность, которая не является инверсионной - через AOP). Там вы можете использовать openID и определить свой второй валидатор для вашей собственной userdb!

0 голосов
/ 13 марта 2009

Примерно так в вашей логике обработки формы:

def authenticate(form_info):
    url = form_info['url']
    if (is_facebook_url(url)):
        return perform_facebook_authentication(form_info)
    else:
        return perform_open_id_authentication(form_info)
...