_session = \Config\Services::session(); $this->setClientId(getenv("socket.google.client.id")); $this->setClientSecret(getenv("socket.google.client.key")); $this->setRedirectUri(base_url() . getenv("socket.google.client.callback_url")); $this->addScope('email'); $this->addScope('profile'); } public function getAccessCode(): string { if ($this->_access_code === "") { throw new \Exception("access_code가 지정되지 않았습니다."); } return $this->_access_code; } public function setAccessCode(string $access_code) { $this->_access_code = $access_code; } public function setAccessToken() { //2.토큰정보 가져오기 $tokenInfo = $this->fetchAccessTokenWithAuthCode($this->getAccessCode()); if (isset($tokenInfo['error'])) { throw new \Exception($tokenInfo['error']); } $token = $tokenInfo[getenv("socket.google.client.token_name")]; //3. Google Service에 접근하기위해 Access Token을 설정 $this->setAccessToken($token); //4. Google에 로그인이 했으므로 세션에 Token값 설정 $this->_session->set(getenv("socket.google.client.token_name"), $token); } public function getAccessToken(): ?string { return $this->_session->get(getenv("socket.google.client.token_name")); } }