@@ -50,12 +50,13 @@ class Looker {
50
50
* @var void
51
51
*/
52
52
private $ config ;
53
+ private bool $ accessTokenRenewed = false ;
53
54
54
55
public function __construct (string $ host , string $ clientId , string $ clientSecret , string $ accessToken = '' ) {
55
56
$ this ->host = $ host ;
56
57
$ this ->clientId = $ clientId ;
57
58
$ this ->clientSecret = $ clientSecret ;
58
- $ this ->accessToken = $ accessToken ;
59
+ $ this ->accessToken = $ accessToken ?: $ this -> loadAccessToken () ;
59
60
$ this ->login ();
60
61
}
61
62
@@ -78,6 +79,7 @@ public function login(): void {
78
79
try {
79
80
$ result = $ apiInstance ->login ($ this ->clientId , $ this ->clientSecret );
80
81
$ this ->accessToken = $ result ->getAccessToken ();
82
+ $ this ->accessTokenRenewed = true ;
81
83
} catch (Exception $ e ) {
82
84
echo 'Exception when calling ApiAuthApi->login: ' , $ e ->getMessage (), PHP_EOL ;
83
85
}
@@ -89,6 +91,10 @@ public function login(): void {
89
91
'Authorization ' => 'token ' . $ this ->accessToken ,
90
92
],
91
93
]);
94
+
95
+ if ($ this ->accessTokenRenewed ) {
96
+ $ this ->storeAccessToken ($ this ->accessToken );
97
+ }
92
98
}
93
99
94
100
public function invalidateAccessToken (): void {
@@ -98,4 +104,18 @@ public function invalidateAccessToken(): void {
98
104
public function getAuthenticatedClient () {
99
105
return $ this ->authenticatedClient ;
100
106
}
107
+
108
+ protected function storeAccessToken ($ accessToken ): void {
109
+ }
110
+
111
+ protected function loadAccessToken (): string {
112
+ return '' ;
113
+ }
114
+
115
+ /**
116
+ * @return string
117
+ */
118
+ public function getAccessToken (): string {
119
+ return $ this ->accessToken ;
120
+ }
101
121
}
0 commit comments