/oauth2-discord

OAuth2 client for authenticating with the Discord API servers

Primary LanguagePHPMIT LicenseMIT

oauth2-discord

Build Status Coverage Status

Provides Discord OAuth 2.0 support for PHP League's OAuth 2.0 Client.

Based on https://github.com/teamreflex/oauth2-discord

Installation

Run composer require moutard3/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/0SBTUU1wZTUo9F8v');

	// Get a refresh token
	$refresh = $provider->getAccessToken('refresh_token', [
		'refresh_token' => $getOldTokenFromMemory->getRefreshToken(),
	]);

	// Store the new token.
}

Credits

License

This code is subject to the MIT license which can be found in the LICENSE file.