summaryrefslogtreecommitdiff
path: root/Postman/Postman-Mail/google-api-client/vendor/google/auth/src/Subscriber/AuthTokenSubscriber.php
diff options
context:
space:
mode:
Diffstat (limited to 'Postman/Postman-Mail/google-api-client/vendor/google/auth/src/Subscriber/AuthTokenSubscriber.php')
-rw-r--r--Postman/Postman-Mail/google-api-client/vendor/google/auth/src/Subscriber/AuthTokenSubscriber.php118
1 files changed, 0 insertions, 118 deletions
diff --git a/Postman/Postman-Mail/google-api-client/vendor/google/auth/src/Subscriber/AuthTokenSubscriber.php b/Postman/Postman-Mail/google-api-client/vendor/google/auth/src/Subscriber/AuthTokenSubscriber.php
deleted file mode 100644
index 4c78426..0000000
--- a/Postman/Postman-Mail/google-api-client/vendor/google/auth/src/Subscriber/AuthTokenSubscriber.php
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-/*
- * Copyright 2015 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.
- */
-
-namespace Google\Auth\Subscriber;
-
-use Google\Auth\FetchAuthTokenInterface;
-use GuzzleHttp\Event\BeforeEvent;
-use GuzzleHttp\Event\RequestEvents;
-use GuzzleHttp\Event\SubscriberInterface;
-
-/**
- * AuthTokenSubscriber is a Guzzle Subscriber that adds an Authorization header
- * provided by an object implementing FetchAuthTokenInterface.
- *
- * The FetchAuthTokenInterface#fetchAuthToken is used to obtain a hash; one of
- * the values value in that hash is added as the authorization header.
- *
- * Requests will be accessed with the authorization header:
- *
- * 'authorization' 'Bearer <value of auth_token>'
- */
-class AuthTokenSubscriber implements SubscriberInterface
-{
- /**
- * @var callable
- */
- private $httpHandler;
-
- /**
- * @var FetchAuthTokenInterface
- */
- private $fetcher;
-
- /**
- * @var callable
- */
- private $tokenCallback;
-
- /**
- * Creates a new AuthTokenSubscriber.
- *
- * @param FetchAuthTokenInterface $fetcher is used to fetch the auth token
- * @param callable $httpHandler (optional) http client to fetch the token.
- * @param callable $tokenCallback (optional) function to be called when a new token is fetched.
- */
- public function __construct(
- FetchAuthTokenInterface $fetcher,
- callable $httpHandler = null,
- callable $tokenCallback = null
- ) {
- $this->fetcher = $fetcher;
- $this->httpHandler = $httpHandler;
- $this->tokenCallback = $tokenCallback;
- }
-
- /**
- * @return array
- */
- public function getEvents()
- {
- return ['before' => ['onBefore', RequestEvents::SIGN_REQUEST]];
- }
-
- /**
- * Updates the request with an Authorization header when auth is 'fetched_auth_token'.
- *
- * use GuzzleHttp\Client;
- * use Google\Auth\OAuth2;
- * use Google\Auth\Subscriber\AuthTokenSubscriber;
- *
- * $config = [..<oauth config param>.];
- * $oauth2 = new OAuth2($config)
- * $subscriber = new AuthTokenSubscriber($oauth2);
- *
- * $client = new Client([
- * 'base_url' => 'https://www.googleapis.com/taskqueue/v1beta2/projects/',
- * 'defaults' => ['auth' => 'google_auth']
- * ]);
- * $client->getEmitter()->attach($subscriber);
- *
- * $res = $client->get('myproject/taskqueues/myqueue');
- *
- * @param BeforeEvent $event
- */
- public function onBefore(BeforeEvent $event)
- {
- // Requests using "auth"="google_auth" will be authorized.
- $request = $event->getRequest();
- if ($request->getConfig()['auth'] != 'google_auth') {
- return;
- }
-
- // Fetch the auth token.
- $auth_tokens = $this->fetcher->fetchAuthToken($this->httpHandler);
- if (array_key_exists('access_token', $auth_tokens)) {
- $request->setHeader('authorization', 'Bearer ' . $auth_tokens['access_token']);
-
- // notify the callback if applicable
- if ($this->tokenCallback) {
- call_user_func($this->tokenCallback, $this->fetcher->getCacheKey(), $auth_tokens['access_token']);
- }
- }
- }
-}