One Hat Cyber Team
Your IP :
18.217.89.171
Server IP :
50.28.103.30
Server :
Linux host.jcukjv-lwsites.com 4.18.0-553.22.1.el8_10.x86_64 #1 SMP Tue Sep 24 05:16:59 EDT 2024 x86_64
Server Software :
nginx/1.24.0
PHP Version :
8.3.12
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
www
/
wwwroot
/
globify.live
/
fns
/
hybridauth
/
Provider
/
View File Name :
WeChat.php
<?php /*! * Hybridauth * https://hybridauth.github.io | https://github.com/hybridauth/hybridauth * (c) 2017 Hybridauth authors | https://hybridauth.github.io/license.html */ namespace Hybridauth\Provider; use Hybridauth\Adapter\OAuth2; use Hybridauth\Exception\UnexpectedApiResponseException; use Hybridauth\Data; use Hybridauth\User; /** * WeChat International OAuth2 provider adapter. */ class WeChat extends OAuth2 { /** * {@inheritdoc} */ protected $scope = 'snsapi_login,snsapi_userinfo,scope.userInfo'; /** * {@inheritdoc} */ protected $apiBaseUrl = 'https://api.wechat.com/sns/'; /** * {@inheritdoc} */ protected $authorizeUrl = 'https://open.weixin.qq.com/connect/qrconnect'; /** * {@inheritdoc} */ protected $accessTokenUrl = 'https://api.wechat.com/sns/oauth2/access_token'; /** * Refresh Token Endpoint * @var string */ protected $tokenRefreshUrl = 'https://api.wechat.com/sns/oauth2/refresh_token'; /** * {@ịnheritdoc} */ protected $accessTokenInfoUrl = 'https://api.wechat.com/sns/auth'; /** * {@inheritdoc} */ protected $tokenExchangeMethod = 'GET'; /** * {@inheritdoc} */ protected $tokenRefreshMethod = 'GET'; /** * {@inheritdoc} */ protected $apiDocumentation = ''; // Not available /** * {@inheritdoc} */ protected function initialize() { parent::initialize(); $this->AuthorizeUrlParameters += [ 'appid' => $this->clientId ]; unset($this->AuthorizeUrlParameters['client_id']); $this->tokenExchangeParameters += [ 'appid' => $this->clientId, 'secret' => $this->clientSecret ]; unset($this->tokenExchangeParameters['client_id']); unset($this->tokenExchangeParameters['client_secret']); if ($this->isRefreshTokenAvailable()) { $this->tokenRefreshParameters += [ 'appid' => $this->clientId, ]; } $this->apiRequestParameters = [ 'appid' => $this->clientId, 'secret' => $this->clientSecret ]; } /** * {@inheritdoc} */ protected function validateAccessTokenExchange($response) { $collection = parent::validateAccessTokenExchange($response); $this->storeData('openid', $collection->get('openid')); $this->storeData('access_token', $collection->get('access_token')); } /** * {@inheritdoc} */ public function getUserProfile() { $openid = $this->getStoredData('openid'); $access_token = $this->getStoredData('access_token'); $response = $this->apiRequest('userinfo', 'GET', ['openid' => $openid, 'access_token' => $access_token]); $data = new Data\Collection($response); if (!$data->exists('openid')) { throw new UnexpectedApiResponseException('Provider API returned an unexpected response.'); } $userProfile = new User\Profile(); $userProfile->identifier = $data->get('openid'); $userProfile->displayName = $data->get('nickname'); $userProfile->photoURL = $data->get('headimgurl'); $userProfile->city = $data->get('city'); $userProfile->region = $data->get('province'); $userProfile->country = $data->get('country'); $genders = ['', 'male', 'female']; $userProfile->gender = $genders[(int)$data->get('sex')]; return $userProfile; } }