1. david_m

    16.09.2008 16:30

    Экспериментирую сейчас с OpenID-сервером из Zend Framework. Подскажите пожалуйста, правильно ли я понимаю, что вот этот код (http://david-m.livejournal.com/1086017.html) в нём — ошибочный?
  2. Иван Сагалаев

    16.09.2008 23:39

    Там чуть дальше в спецификации есть приписка:

    If the Identifier assertion fails ...

    The Identity Provider handling SHOULD eventually return the End User to the openid.return_to URL, acting like a checkid_setup response, with either a "id_res" or "cancel" mode.

    То есть 'cancel', вроде, разрешено.

    По сути-то это все равно одно и то же, означающее "мы не поддерживаем immediate-режим".

  3. david_m

    17.09.2008 03:11

    Нет-нет, это совершенно не одно и то же — в первом случае (id_res) ответ означает «пошлите юзера на user_setup_url», а во втором (cancel) — «мы вообще immediate не понимаем». Есть же разница.

    Вот тот же filmonline.ru использует именно immediate-режим и на этот “cancel” просто обрывает процесс авторизации. Таким образом, если он уже не в trusted-сайтах (а как бы он туда попал?), то авторизоваться на нём с помощью Zend Provider получается совершенно невозможно. А заменил я выдачу в этом месте на id_res — и всё как по маслу заработало.

    Кстати, и http://openidenabled.com/resources/openid-test/ “cancel” считает ошибкой…
  4. Иван Сагалаев

    17.09.2008 03:34

    Да, логично, вроде... Спасибо за разъяснения!

  5. http://davidmz.ya.ru/

    17.09.2008 20:50

    Да я больше себя убеждаю:) Но, вроде, всё правильно, эксперименты подтверждают. Накатал им тикет…

bbcode