-
Экспериментирую сейчас с OpenID-сервером из Zend Framework. Подскажите пожалуйста, правильно ли я понимаю, что вот этот код (http://david-m.livejournal.com/1086017.html) в нём — ошибочный?
-
Там чуть дальше в спецификации есть приписка:
If the Identifier assertion fails ...
The Identity Provider handling SHOULD eventually return the End User to the
openid.return_toURL, acting like acheckid_setupresponse, with either a "id_res" or "cancel" mode.То есть 'cancel', вроде, разрешено.
По сути-то это все равно одно и то же, означающее "мы не поддерживаем immediate-режим".
-
Нет-нет, это совершенно не одно и то же — в первом случае (id_res) ответ означает «пошлите юзера на user_setup_url», а во втором (cancel) — «мы вообще immediate не понимаем». Есть же разница.
Вот тот же filmonline.ru использует именно immediate-режим и на этот “cancel” просто обрывает процесс авторизации. Таким образом, если он уже не в trusted-сайтах (а как бы он туда попал?), то авторизоваться на нём с помощью Zend Provider получается совершенно невозможно. А заменил я выдачу в этом месте на id_res — и всё как по маслу заработало.
Кстати, и http://openidenabled.com/resources/openid-test/ “cancel” считает ошибкой… -
Да, логично, вроде... Спасибо за разъяснения!
-
Да я больше себя убеждаю:) Но, вроде, всё правильно, эксперименты подтверждают. Накатал им тикет…

