_mySocket === null) { $this->_mySocket = new GoogleSocket(getenv('yamap.host.url')); } return $this->_mySocket; } public function getAuthButton() { $button = ""; if (!$this->getMySocket()->getAccessToken()) { $button = anchor( $this->getMySocket()->getClient()->createAuthUrl(), ICONS['GOOGLE'], ["target" => "_self"] ); } return $button; } public function execute(): UserEntity { return new UserEntity(); // try { // //Google 접근 권한 설정. // $this->getMySocket()->setAccessToken(); // //Google 서비스 설정 // //$service = new \Google\Service\Oauth2($this->getMySocket()); // $service = new \Google\Service\Oauth2($this->getMySocket()); // $result = $service->userinfo->get(); // log_message("debug", var_export($result, true)); // // throw new \Exception(__METHOD__ . "에서 데이터 처리 필요"); // // DEBUG - 2023-07-13 12:54:51 --> \Google\Service\Oauth2\Userinfo::__set_state(array( // // 'internal_gapi_mappings' => // // array ( // // 'familyName' => 'family_name', // // 'givenName' => 'given_name', // // 'verifiedEmail' => 'verified_email', // // ), // // 'modelData' => // // array ( // // 'verified_email' => true, // // 'given_name' => '이름', // // 'family_name' => '성', // // ), // // 'processed' => // // array ( // // ), // // 'email' => 'twsdfsew342s@gmail.com', // // 'familyName' => '성', // // 'gender' => NULL, // // 'givenName' => '이름', // // 'hd' => NULL, // // 'id' => '103667492432234234236838324', // // 'link' => NULL, // // 'locale' => 'ko', // // 'name' => '성이름', // // 'picture' => 'https://lh3.googleusercontent.com/a/AAcHTteFSgefsdfsdRJBkJA2tBEmg4PQrvI1Ta_5IXu5=s96-c', // // 'verifiedEmail' => true, // // )) // //조건에 해당하는 이미 등록된 사용자가 있는지 검사 // $snsEntity = null; // try { // $snsEntity = $this->getUserSNSModel()->asObject(SNSUSerEntity::class)->where( // array("site" => $this->_site, "id" => $result['id']) // )->first(); // } catch (\Exception $e) { // $snsEntity = new SNSUSerEntity([ // 'site' => $this->_site, // 'id' => $result['id'], // 'name' => $result['name'], // 'email' => $result['email'], // 'detail' => json_encode($result), // 'status' => 'standby', // ]); // $snsEntity = $this->getUserSNSModel()->create($snsEntity); // } // //상태가 use(승인완료)가 아니라면 // if ($snsEntity->status !== DEFAULTS['STATUS']) { // throw new \Exception("{$this->_site}}의{$result['email']}:{$result['name']}님은 " . $snsEntity->status . "입니다"); // } // //user_id가 연결되어있지 않았다면 // if (!$snsEntity->getID()) { // throw new \Exception("{$this->_site}의{$result['email']}:{$result['name']}님은 아직 사용자 지정이 되지 않았습니다. "); // } // //인증된 사용자 정보를 가져온후 로그인처리 // $entity = $this->getUserModel()->getEntityByID($snsEntity->getID()); // return $this->setSession_process($entity);; // } catch (\Exception $e) { // throw new \Exception("관리자에게 문의하시기 바랍니다.
{$e->getMessage()}"); // } } }