1<?php 2/* 3 * Copyright 2018 Google Inc. 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 */ 17 18namespace Google\Auth\Credentials; 19 20use Google\Auth\FetchAuthTokenInterface; 21 22/** 23 * Provides a set of credentials that will always return an empty access token. 24 * This is useful for APIs which do not require authentication, for local 25 * service emulators, and for testing. 26 */ 27class InsecureCredentials implements FetchAuthTokenInterface 28{ 29 /** 30 * @var array{access_token:string} 31 */ 32 private $token = [ 33 'access_token' => '' 34 ]; 35 36 /** 37 * Fetches the auth token. In this case it returns an empty string. 38 * 39 * @param callable $httpHandler 40 * @return array{access_token:string} A set of auth related metadata 41 */ 42 public function fetchAuthToken(callable $httpHandler = null) 43 { 44 return $this->token; 45 } 46 47 /** 48 * Returns the cache key. In this case it returns a null value, disabling 49 * caching. 50 * 51 * @return string|null 52 */ 53 public function getCacheKey() 54 { 55 return null; 56 } 57 58 /** 59 * Fetches the last received token. In this case, it returns the same empty string 60 * auth token. 61 * 62 * @return array{access_token:string} 63 */ 64 public function getLastReceivedToken() 65 { 66 return $this->token; 67 } 68} 69