Completed
Push — master ( ae7e79...4a5483 )
by Patrick
03:04
created
Auth/class.GoogleAuthenticator.php 1 patch
Braces   +35 added lines, -35 removed lines patch added patch discarded remove patch
@@ -2,20 +2,20 @@  discard block
 block discarded – undo
2 2
 namespace Auth;
3 3
 require dirname(__FILE__).'/../libs/google/src/Google/autoload.php';
4 4
 
5
-class GoogleAuthenticator extends Authenticator
6
-{
5
+class GoogleAuthenticator extends Authenticator
6
+{
7 7
     protected $client;
8 8
     protected $token = null;
9 9
 
10
-    public function __construct($params)
11
-    {
10
+    public function __construct($params)
11
+    {
12 12
         parent::__construct($params);
13
-        if(!isset($params['client_secrets_path']))
14
-        {
13
+        if(!isset($params['client_secrets_path']))
14
+        {
15 15
             throw new \Exception('Missing required parameter client_secrets_path!');
16 16
         }
17
-        if(!isset($params['redirect_url']))
18
-        {
17
+        if(!isset($params['redirect_url']))
18
+        {
19 19
             $params['redirect_url'] = 'https://'.$_SERVER['HTTP_HOST'].'/oauth2callback.php?src=google';
20 20
         }
21 21
         $this->token = \FlipSession::getVar('GoogleToken', null);
@@ -30,64 +30,64 @@  discard block
 block discarded – undo
30 30
      *
31 31
      * @return string The link to login using this method
32 32
      */
33
-    public function getSupplementLink()
34
-    {
33
+    public function getSupplementLink()
34
+    {
35 35
         $authUrl = $this->client->createAuthUrl();
36 36
         return '<a href="'.filter_var($authUrl, FILTER_SANITIZE_URL).'"><img src="/img/common/google_sign_in.png" style="width: 2em;"/></a>';
37 37
     }
38 38
 
39
-    public function authenticate($code, &$currentUser = false)
40
-    {
39
+    public function authenticate($code, &$currentUser = false)
40
+    {
41 41
         $googleUser = false;
42
-        try
43
-        {
42
+        try
43
+        {
44 44
             $this->client->authenticate($code);
45 45
             $this->token = $this->client->getAccessToken();
46 46
             \FlipSession::setVar('GoogleToken', $this->token);
47 47
             $oauth2Service = new \Google_Service_Oauth2($this->client);
48 48
             $googleUser = $oauth2Service->userinfo->get();
49
-        }
50
-        catch(\Exception $ex)
51
-        {
49
+        }
50
+        catch(\Exception $ex)
51
+        {
52 52
             return self::LOGIN_FAILED;
53 53
         }
54 54
 
55 55
         $auth = \AuthProvider::getInstance();
56 56
         $localUsers = $auth->getUsersByFilter(new \Data\Filter('mail eq '.$googleUser->email));
57
-        if($localUsers !== false && isset($localUsers[0]))
58
-        {
59
-            if($localUsers[0]->canLoginWith('google.com'))
60
-            {
57
+        if($localUsers !== false && isset($localUsers[0]))
58
+        {
59
+            if($localUsers[0]->canLoginWith('google.com'))
60
+            {
61 61
                 $auth->impersonateUser($localUsers[0]);
62 62
                 return self::SUCCESS;
63 63
             }
64 64
             $currentUser = $localUsers[0];
65 65
             return self::ALREADY_PRESENT;
66
-        }
67
-        else
68
-        {
66
+        }
67
+        else
68
+        {
69 69
             $user = new PendingUser();
70 70
             $user->setEmail($googleUser->email);
71 71
             $user->setGivenName($googleUser->givenName);
72 72
             $user->setLastName($googleUser->familyName);
73 73
             $user->addLoginProvider('google.com');
74 74
             $ret = $auth->activatePendingUser($user);
75
-            if($ret === false)
76
-            {
75
+            if($ret === false)
76
+            {
77 77
                 throw new \Exception('Unable to create user! '.$res);
78 78
             }
79 79
             return self::SUCCESS;
80 80
         }
81 81
     }
82 82
 
83
-    public function getUser($data = false)
84
-    {
85
-        if($data === false)
86
-        {
83
+    public function getUser($data = false)
84
+    {
85
+        if($data === false)
86
+        {
87 87
             $data = $this->token;
88 88
         }
89
-        try
90
-        {
89
+        try
90
+        {
91 91
             $this->client->setAccessToken($data);
92 92
             $oauth2Service = new \Google_Service_Oauth2($this->client);
93 93
             $googleUser = $oauth2Service->userinfo->get();
@@ -98,9 +98,9 @@  discard block
 block discarded – undo
98 98
             $profileUser['displayName'] = $googleUser->name;
99 99
             $profileUser['jpegPhoto'] = base64_encode(file_get_contents($googleUser->picture));
100 100
             return $profileUser;
101
-        }
102
-        catch(\Exception $e)
103
-        {
101
+        }
102
+        catch(\Exception $e)
103
+        {
104 104
             return false;
105 105
         }
106 106
     }
Please login to merge, or discard this patch.