X7ROOT File Manager
Current Path:
/var/www/vhosts/hwtw.com.tw/httpdocs/libs/auth
var
/
www
/
vhosts
/
hwtw.com.tw
/
httpdocs
/
libs
/
auth
/
📁
..
📄
Google_AssertionCredentials.php
(2.78 KB)
📄
Google_Auth.php
(1.21 KB)
📄
Google_AuthNone.php
(1.63 KB)
📄
Google_LoginTicket.php
(1.77 KB)
📄
Google_OAuth2.php
(14.21 KB)
📄
Google_P12Signer.php
(2.24 KB)
📄
Google_PemVerifier.php
(1.88 KB)
📄
Google_Signer.php
(849 B)
📄
Google_Verifier.php
(910 B)
Editing: Google_AssertionCredentials.php
<?php /* * Copyright 2012 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * Credentials object used for OAuth 2.0 Signed JWT assertion grants. * * @author Chirag Shah <chirags@google.com> */ class Google_AssertionCredentials { const MAX_TOKEN_LIFETIME_SECS = 3600; public $serviceAccountName; public $scopes; public $privateKey; public $privateKeyPassword; public $assertionType; public $prn; /** * @param $serviceAccountName * @param $scopes array List of scopes * @param $privateKey * @param string $privateKeyPassword * @param string $assertionType * @param bool|string $prn The email address of the user for which the * application is requesting delegated access. */ public function __construct( $serviceAccountName, $scopes, $privateKey, $privateKeyPassword = 'notasecret', $assertionType = 'http://oauth.net/grant_type/jwt/1.0/bearer', $prn = false) { $this->serviceAccountName = $serviceAccountName; $this->scopes = is_string($scopes) ? $scopes : implode(' ', $scopes); $this->privateKey = $privateKey; $this->privateKeyPassword = $privateKeyPassword; $this->assertionType = $assertionType; $this->prn = $prn; } public function generateAssertion() { $now = time(); $jwtParams = array( 'aud' => Google_OAuth2::OAUTH2_TOKEN_URI, 'scope' => $this->scopes, 'iat' => $now, 'exp' => $now + self::MAX_TOKEN_LIFETIME_SECS, 'iss' => $this->serviceAccountName, ); if ($this->prn !== false) { $jwtParams['prn'] = $this->prn; } return $this->makeSignedJwt($jwtParams); } /** * Creates a signed JWT. * @param array $payload * @return string The signed JWT. */ private function makeSignedJwt($payload) { $header = array('typ' => 'JWT', 'alg' => 'RS256'); $segments = array( Google_Utils::urlSafeB64Encode(json_encode($header)), Google_Utils::urlSafeB64Encode(json_encode($payload)) ); $signingInput = implode('.', $segments); $signer = new Google_P12Signer($this->privateKey, $this->privateKeyPassword); $signature = $signer->sign($signingInput); $segments[] = Google_Utils::urlSafeB64Encode($signature); return implode(".", $segments); } }
Upload File
Create Folder