OpenID SReg Необязательный и обязательный
Мне было интересно, есть ли реальная разница между запросом типа как необязательного и обязательного. Я думаю, что если аутентификация прошла успешно, но некоторые из обязательных полей, которые были запрошены, недоступны, то появилось бы какое-то сообщение для RP.
Может быть, есть такое сообщение, но я скучаю по нему. Из того, что я могу сказать до сих пор, если я запрашиваю действительный тип, которому не было присвоено значение (в myOpenID.com), как требуется, то я получаю сообщение об успешной аутентификации, но нет данных или сообщения, сообщающего, что требуемый тип отсутствует.
Я использую openid-компонент для CakePHP, который является компонентом, созданным на основе библиотеки PHP JanRain / OpenID.
Изменить: я понимаю, что я могу просто проверить, были ли эти типы возвращены сам, но мне было более любопытно, что разница в запросе их как необязательных или обязательных, когда оба результата (на вид) идентичны.
1 ответ
Пометка поля как обязательного или необязательного является лишь рекомендацией для поставщика.
Что касается практических различий, например, Google полностью игнорирует необязательные параметры. Некоторые другие провайдеры сообщают пользователям, что поле является обязательным, но разрешают не отправлять его в любом случае.
Как это интерпретировать, полностью зависит от провайдера. Вы не получаете никакой информации о обязательных полях, которые не отправляются обратно (так как это было бы ненадежно в любом случае).