На моем сайте я использую аутентификацию на основе OpenID. Я запрашиваю адрес электронной почты от поставщика OpenID. Проблема заключается в том, что каждый поставщик отправляет адрес электронной почты в свой собственный параметр в ответе GET после аутентификации. Я перечисляю три из того, что я видел
StackExchange
openid_alias3_value_alias1
Yahoo!
openid_ax_value_email
openid_ext1_value_email
Трудно (и не стандартно) писать отдельные строки кода для каждого поставщика OpenID. Есть ли стандарт для этого?
(добавлена ошибка: https://meta.stackexchange.com/questions/106922/stackexchange-openid-parameter-for-email-should-be-openid-ax-value-email )
Поскольку нет идентификатора типа openid.email
определенного в разделе « Позитивные утверждения » спецификаций OpenID Auth 2.0, я бы сказал: нет, такого стандарта нет .
OpenID поддерживает расширения для переноса дополнительных данных, таких как email
, но полностью зависит от провайдера OpenID, какие данные должны показывать (если они вообще есть), какие идентификаторы использовать и где их размещать в своей иерархии пространства имен расширений.