kevslashnull / oauth2-discord
This package is abandoned and no longer maintained.
No replacement package was suggested.
OAuth2 client for authenticating with the Discord API servers
v9.0
2022-08-19 14:22 UTC
Requires
- illuminate/support: ^9.0
- league/oauth2-client: ^2.0
Requires (Dev)
This package is auto-updated.
Last update: 2025-01-19 19:41:56 UTC
README
Enables PHP-based websites (such as Laravel ones) to use Discord as login and/or register system.
This repo is a fork of team-reflex/oauth2-discord. Team Reflex' package was last updated on Oct 7, 2016 and we at SiegeGG need an updated version. We'll possibly add more non-breaking features but will try to leave the package fully backwards compatible.
Provides Discord OAuth 2.0 support for PHP League's OAuth 2.0 Client.
Installation
Run composer require kevslashnull/oauth2-discord
.
Usage
<?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="'.$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/52a9dsR');
// Get a refresh token
$refresh = $provider->getAccessToken('refresh_token', [
'refresh_token' => $getOldTokenFromMemory->getRefreshToken(),
]);
// Store the new token.
}
Credits
- @KevSlashNull at SiegeGG
- David Cole
- All Contributors
License
This code is subject to the MIT license which can be found in the LICENSE file.