2010-09-19 2 views
2

Мне нужно реализовать аутентификацию для проекта, над которым я работаю. Но я не могу сделать выбор: использовать OpenId или нет. Главный вопрос для меня - как получить электронную почту пользователя (это важно для отправки уведомлений), если пользователь вошел в систему через OpenId. Конечно, большинство поставщиков OpenId возвращают эту информацию, но я не могу доверять им (так как любой может настроить поставщика OpenId).Получение электронной почты: OpenId против классической аутентификации

В настоящее время я вижу следующие способы: 1. Поддерживайте только поставщики OpenId, которые всегда возвращают пользовательскую электронную почту и кому я могу доверять (было бы неудобно активировать электронную почту в сценарии аутентификации OpenId). 2. Забудьте об OpenId и используйте классическую аутентификацию.

Как вы думаете?

+0

Я бы выбрал первый вариант: –

+0

Если вам нужно ограничить * Open * ID провайдеров, вы должны просто придерживаться управления собственной парольной базой данных. – 2010-09-19 20:19:26

ответ

2

На самом деле лучшей идеей было бы реализовать OpenID, но в любом случае проверить адреса электронной почты (или попросить пользователя предоставить их, если OP не работает).

Непросто требовать от пользователя проверки их электронной почты, если они используют OpenID - данные, возвращаемые OP, не гарантируются.

И что бы вы ни делали, не ограничивайте возможности поставщиков OpenID - это вызовет только путаницу. Вы можете просто не проверить адрес, если он исходит от известного поставщика.

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