Provides Discord OAuth 2.0 support for PHP League's OAuth 2.0 Client.
Run composer require team-reflex/oauth2-discord
.
<?php
$provider = new \Discord\OAuth\Discord([
'clientId' => 'oauth-app-id',
'clientSecret' => 'oauth-app-secret',
'redirectUri' => 'http://your.redirect.url',
]);
if (! isset($_GET['code'])) {
echo '<a href="https://github.com/teamreflex/oauth2-discord/blob/master/'.$provider->getAuthorizationUrl().'">Login with Discord</a>';
} else {
$token = $provider->getAccessToken('authorization_code', [
'code' => $_GET['code'],
]);
// Get the user object.
$user = $provider->getResourceOwner($token);
// Get the guilds and connections.
$guilds = $user->guilds;
$connections = $user->connections;
// Accept an invite
$invite = $user->acceptInvite('https://discord.gg/0SBTUU1wZTUo9F8v');
// Get a refresh token
$refresh = $provider->getAccessToken('refresh_token', [
'refresh_token' => $getOldTokenFromMemory->getRefreshToken(),
]);
// Store the new token.
}
This code is subject to the MIT license which can be found in the LICENSE file.