1<?php
2
3use dokuwiki\plugin\oauthgoogle\Google;
4
5/**
6 * Service Implementation for oAuth Google authentication
7 */
8class action_plugin_oauthgoogle extends \dokuwiki\plugin\oauth\Adapter
9{
10    /**
11     * We use our own, modified version of the Google service
12     * @inheritdoc
13     */
14    public function registerServiceClass()
15    {
16        return Google::class;
17    }
18
19    /** * @inheritDoc */
20    public function getUser()
21    {
22        $oauth = $this->getOAuthService();
23        $data = array();
24
25        $result = json_decode($oauth->request('https://www.googleapis.com/oauth2/v1/userinfo'), true);
26
27        $data['user'] = $result['name'];
28        $data['name'] = $result['name'];
29        $data['mail'] = $result['email'];
30
31        return $data;
32    }
33
34    /** @inheritDoc */
35    public function getScopes()
36    {
37        return [Google::SCOPE_USERINFO_EMAIL, Google::SCOPE_USERINFO_PROFILE];
38    }
39
40    /** @inheritDoc */
41    public function getLabel()
42    {
43        return 'Google';
44    }
45
46    /** @inheritDoc */
47    public function getColor()
48    {
49        return '#DC4A38';
50    }
51
52}
53