1. Shein Alexey

    23.06.2010

    0 ↑
    0 ↓
    Полдня сегодня промучался с багом mail.ru - не возвращает данные пользователя по SREG.
    Использовал JRain-php5 библиотеку. В итоге оказалось, что в ответе не хватает указания sreg namespace, т.е. следующий код решил проблему:
    $consumer = $this->getConsumer();

    // mail.ru fix
    $_SERVER['QUERY_STRING'] .= '&openid.ns.sreg=' . Auth_OpenID_SREG_NS_URI_1_1;

    // Complete the authentication process using the server's response.
    $response = $consumer->complete($this->getReturnUrl());

    // ... checking if response was successful

    // SREG
    $sreg_resp = Auth_OpenID_SRegResponse::fromSuccessResponse($response);
    print_r($sreg_resp->contents());
    где Auth_OpenID_SREG_NS_URI_1_1 является 'http://openid.net/extensions/sreg/1.1'.
    Вопрос собственно вот в чем - действительно это ошибка с их стороны, или может я чего неправильно делаю?
  2. Ivan Sagalaev

    23.06.2010

    0 ↑
    0 ↓

    Насколько я понимаю, этот namespace должен присутствовать в запросе, без него сервер не поймёт, что это sreg. По идее, остальные серверы тоже должны себя так вести.

  3. Shein Alexey

    24.06.2010

    1 ↑
    0 ↓
    Именно, Яндекс так и делает и все работает как часы. Видимо нужно отписать им в службу поддержки.

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.