Steam. Почему они меня не любят?
И снова здравствуйте! Пишу сервис, который плотно общается со Steam. И совсем не мог подумать, что при этом "общении" могут возникнуть такие проблемы. У Steam web api нет нормальной документации (Я не пишу игру, или онлайн-кафе и не могу пользоваться stemworks). Основная проблема на данный момент - авторизация. У них вроде бы и есть сервис для авторизации с помощь openid. Но работает он как на половину. Я могу перенаправить пользователя на ссылку типа
https://steamcommunity.com/openid/login?
is_popup=1&
openid.mode=checkid_setup&
openid.code&
openid.ns.sreg=http://openid.net/extensions/sreg/1.1&
openid.ns=http://specs.openid.net/auth/2.0&
openid.identity=http://specs.openid.net/auth/2.0/identifier_select&
openid.claimed_id=http://specs.openid.net/auth/2.0/identifier_select&
openid.return_to=http://localhost:8000/user/steam/auth?referrer_url=http://localhost:8000&
openid.realm=http://localhost:8000&
И при удачной авторизации получить келбек в виде запроса на мой сервер со следующими параметрами
"referrer_url": "http://localhost:8000",
"openid.ns": "http://specs.openid.net/auth/2.0",
"openid.mode": "id_res",
"openid.op_endpoint": "https://steamcommunity.com/openid/login",
"openid.claimed_id": "https://steamcommunity.com/openid/id/76561199045179739",
"openid.identity": "https://steamcommunity.com/openid/id/76561199045179739",
"openid.return_to": "http://localhost:8000/user/steam/auth?referrer_url=http://localhost:8000",
"openid.response_nonce": "2020-04-14T12:43:14Zb2DTRkl+OXVvo1ydYYsid8Lc77M=",
"openid.assoc_handle": "1234567890",
"openid.signed": "signed,op_endpoint,claimed_id,identity,return_to,response_nonce,assoc_handle",
"openid.sig": "1a1rJJv4YqID4EEmzznWD0yOv48="
Даже чтобы получить инфу о залогиневшемся юзере я могу сделать запрос на ендпоинт: http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=XXXXXXXXXXXXXXXXXXXXXXX&steamids=76561197960435530
Но данный запрос вернёт мне только общедостуаную инфу, но это не столь важно, как то, что такой запрос никак не проверяет правда ли пользователь авторизован.
Есть среди вас кто то, кто делал подобную авторизацию. И как вы это сделали?
Стоит сказать, что я пишу на python и плохо могу читать php, а следовательно, пожалуйста, не нужно бросать куски кода с первой страницы выдачи гугла, большое спасибо.