Oblomow
@Oblomow
SEO-специалист

Как настроить SSO авторизацию на сайте?

Доброго времени суток!
Играю в EVE online и хочу сделать на одном из сайтов возможность авторизации через SSO.
Этот процесс есть в статье:
https://eveonline-third-party-documentation.readth...

Мне удалось создать приложение и сделать ссылку, которая будет перенаправлять пользователя на авторизацию, а потом возвращать его на мой сайт с уникальным code идентификатором.

Теперь моя задача, как написано в инструкции, сделать запрос POST, https://login.eveonline.com/oauth/token чтобы обменять код авторизации на токен доступа.

И вот тут полный ступор. Не имея навыков программирования я даже не понимаю что именно от меня требуется.
Т.е. сделать POST запрос можно, например, через curl.
Пробую следующий код:
<?php
$encoded = base64_encode($string='<b>bla</b>:<b>blablabla'</b>);
$request_headers = array('Authorization' => 'Basic ' . $encoded, 'Content-Type' => 'application/x-www-form-urlencoded', 'Host' => 'login.eveonline.com');
$code = $_GET['code'];
$postfieldStr = array('grant_type' => 'authorization_code', 'code' => $code);
$ch = curl_init('https://login.eveonline.com/oauth/token');
curl_setopt($ch, CURLOPT_HTTPHEADER, $request_headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postfieldStr); 
$out = curl_exec($ch);
curl_close($ch);
print_r($out);
?>


Вывод получаю единицу, и всё ещё не понимаю как как мне достатать этот token.
Мог бы кто-нибудь максимально подробно (в рамках разумного) объяснить как всё это сделать?

PS id клиента и секретный ключ я нарочно заменил на bla-bla
  • Вопрос задан
  • 329 просмотров
Решения вопроса 1
Oblomow
@Oblomow Автор вопроса
SEO-специалист
В общем, удалось найти готовый код на гитхабе.
Вопрос исчерпан.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
VlastV
@VlastV
Ведущий разработчик – практик
EVE Online использует OAuth2: Authorization Code Grant о чем они сообщают в начале документации.

Соответственно, чтоб разобраться, что, куда и зачем слать, можно почитать документацию по OAuth2 - авторизация через код, например, объяснение от DigitalOcean
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы