Skip to content
Marco Cusano edited this page May 7, 2019 · 2 revisions

authorize external-link

Generate a redirect Discord oAuth Link

$params = array(
    "redirect_uri" => "https://yourdomain.com/login_redirect",
    "scope" => "identify emails guilds", // Optional (default: "identify")
    "response_type" => "code", // Optional (default: "code"),
    "client_id" => "YOUR_CLIENT_ID", // Optional (default: $discord->config->client_id)
);
$link = $discord->oauth2->authorize($params);

getToken external-link

  • Exchange Code to Token
  • Refresh Token
  • Get Token by Client Credentials request
// Exchange Code to Token
$params = array (
    "code" => $_GET["code"],
    "redirect_uri" => "https://yourdomain.com/login_redirect" 
);
$discord->oauth2->getToken($params);
// Refresh Token
$params = array(
    "refresh_token" => "YOUR_REFRESH_AUTH_TOKEN",
    "redirect_uri" => "https://yourdomain.com/your/redirect/uri"
);
$discord->oauth2->refresh_token($params);
// Get Token by Client Credentials request
$discord->oauth2->clientCredentials();

For each function you can also send custom parameters like:

$params = array(
    "scope" => "Scope1 Scope2 Scope3 ScopeN", // Instead of default: "identify"
    "grant_type" => "custom_grant_type", // Instead of default: "authorization_code" || "refresh_token" || "client_credentials"
    "client_id" => "custom_client_id", // Instead of default: $discord->config->client_id
    "client_secret" => "custom_client_secret" // Instead of default: $discord->config->client_secret
    "response_type" => "custom_response_type" // Instead of default: "code"
);

Here is the List Scopes if needed.


revoke external-link

Revoke a Token

$params = array( "redirect_uri" => "https://yourdomain.com/redirect", );
$discord->oauth2->revoke($params);