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

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

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
24 апр. 2024, в 13:32
300 руб./за проект
24 апр. 2024, в 13:10
400000 руб./за проект