1<?php
2
3namespace dokuwiki\plugin\oauthdiscordserver;
4
5use dokuwiki\plugin\oauth\Service\AbstractOAuth2Base;
6use OAuth\Common\Http\Uri\Uri;
7
8/**
9 * Custom Service for Discord oAuth
10 */
11class Discord extends AbstractOAuth2Base
12{
13    // Discord scopes
14    const SCOPE_EMAIL = 'email';
15    const SCOPE_IDENTIFY = 'identify';
16    const SCOPE_MEMBER = 'guilds.members.read';
17    const SCOPE_SERVERS = 'guilds';
18
19    /**
20     * @inheritdoc
21     */
22    public function getAuthorizationEndpoint()
23    {
24        return new Uri('https://discord.com/oauth2/authorize');
25    }
26
27    /**
28     * @inheritdoc
29     */
30    public function getAccessTokenEndpoint()
31    {
32        return new Uri('https://discord.com/api/oauth2/token');
33    }
34
35    /**
36     * @inheritdoc
37     */
38    protected function getAuthorizationMethod()
39    {
40        return static::AUTHORIZATION_METHOD_HEADER_BEARER;
41    }
42}
43