Как использовать токен доступа от discord oauth2 для получения информации о пользователе - PullRequest
0 голосов
/ 01 марта 2019

Я пытался настроить свой веб-сайт, чтобы пользователи могли войти через разногласия.На данный момент у меня есть следующий код:

<html>
    <body>
        <?php
            session_start();
            if ($_SERVER['REQUEST_METHOD']=='POST')
                {
                    $params = array(
                        'response_type' => 'token',
                        'client_id' => '550631359337594881',
                        'scope' => 'identify'
                    );
                    header('Location:https://discordapp.com/api/oauth2/authorize?'.http_build_query($params));
                }
        ?>
        <form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="post">
            <input type="submit" value="Login">
        </form>
    </body>
</html>

, который отправляет пользователя по ссылке авторизации разногласий, а затем обратно:

http://localhost/#access_token=TOKEN&token_type=Bearer&expires_in=604800&scope=identify

, над которой я работаюсайт через локальный сервер XAMPP, чтобы я мог использовать PHP, поэтому это http://localhost

Это все хорошо, однако моя проблема в том, что я на самом деле не знаю, где я долженидти отсюда.У меня есть токен, тип токена, срок действия и область действия, но я не знаю, как их использовать.

ЧТО ХОЧУ

Я хочучтобы иметь возможность получить различие между аватаром и именем пользователя, поэтому я и использовал область определения (более подробную информацию можно получить по адресу https://discordapp.com/developers/docs/topics/oauth2).. Мне бы хотелось, чтобы это было сделано в PHP, потому что я не знаю, как использоватьтакие языки, как JSON и AJAX и все такое ВСЕ, однако, если это единственный способ, это лучше, чем ничего.

Может кто-нибудь помочь мне проследить за мной после получения токена доступа? Спасибо заранее!

1 Ответ

0 голосов
/ 01 марта 2019

Поскольку вы знаете PHP, вы знаете, что можете получить токен как переменную.С этим токеном вы можете отправлять запросы в API Discords.Вам нужна конечная точка, которая дает вам основную информацию о пользователе: http://discordapp.com/api/users/@me Для следующего вам нужен CURL Libary

$curl_h = curl_init('http://discordapp.com/api/users/@me');

curl_setopt($curl_h, CURLOPT_HTTPHEADER, array(
     'User-Agent: MyCoolAuth v0.1',
     'Authorization: TOKEN'
    )
);
curl_setopt($curl_h, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($curl_h);

Этот ответ представляет собой массив со всей необходимой вам информацией.Подробное объяснение его содержания можно найти на Discords портале разработчика .

...