Объясните методику авторизации OpenID(PHP)

387
26 сентября 2017, 08:21

Нужно сделать авторизацию по openID wargaming(Авторизация по средствами API не интересует - от неё и избавляюсь)

Перенаправляю клиента по ссылке(взято с http://www.modxvm.com/ и отредактировано):

https://ru.wargaming.net/id/openid/?openid.mode=checkid_setup&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.identity=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.claimed_id=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.assoc_handle=%7BHMAC-SHA256%7D%7B59c635f7%7D%7BwcA2Sw%3D%3D%7D&openid.return_to=https%3A%2F%2Fmysite.my%2Ftest.php&openid.realm=https%3A%2F%2Fmysite.my

Получаю ответ(когда перенаправляет обратно):

array(14) {
  ["openid_assoc_handle"]=>
  string(33) "{HMAC-SHA256}{59c635f7}{xXxXxX==}"
  ["openid_claimed_id"]=>
  string(49) "https://ru.wargaming.net/id/NNNNNNN-Name/"
  ["openid_identity"]=>
  string(49) "https://ru.wargaming.net/id/NNNNNNN-Name/"
  ["openid_mode"]=>
  string(6) "id_res"
  ["openid_ns"]=>
  string(32) "http://specs.openid.net/auth/2.0"
  ["openid_ns_pape"]=>
  string(43) "http://specs.openid.net/extensions/pape/1.0"
  ["openid_op_endpoint"]=>
  string(35) "https://ru.wargaming.net/id/openid/"
  ["openid_pape_auth_level_nist"]=>
  string(1) "0"
  ["openid_pape_auth_level_ns_nist"]=>
  string(68) "http://csrc.nist.gov/publications/nistpubs/800-63/SP800-63V1_0_2.pdf"
  ["openid_pape_auth_policies"]=>
  string(52) "http://schemas.openid.net/pape/policies/2007/06/none"
  ["openid_response_nonce"]=>
  string(26) "2017-09-24T09:13:41xXxXx"
  ["openid_return_to"]=>
  string(24) "https://mysite.my/test.php"
  ["openid_sig"]=>
  string(44) "8/vi5oUxxxxxxxxnnnR6IQcZGqbTj3hLAQ="
  ["openid_signed"]=>
  string(156) "assoc_handle,claimed_id,identity,mode,ns,ns.pape,op_endpoint,pape.auth_level.nist,pape.auth_level.ns.nist,pape.auth_policies,response_nonce,return_to,signed"
}

Вроде бы всё есть ID и имя клиента, но как теперь проверить присланные данные по факту я с сервера должен сделать запрос к WG OpenID, но что и куда отправлять без понятия. Есть openid_sig, есть Данные о пользователе - openid_claimed_id, openid_identity и прочее. Как теперь сверить? Техподдержка у ВГ такая, что связываться себе дороже. Полапатил по инету, ничего толком не нашёл.

READ ALSO
На каком сервере надо реализовывать MVC на PHP?

На каком сервере надо реализовывать MVC на PHP?

Начал изучать MVCСуть данного шаблона проектирования ясна

299
PHP / phpquery - распрарсить таблицу

PHP / phpquery - распрарсить таблицу

Как правильней распарсить таблицу? В итоге мне нужно, что-бы было так:

281
Ошибка fetch() php

Ошибка fetch() php

Вылизает ошибка:

323