Add Google authentication
This commit is contained in:
100
vendor/OAuth/Common/Service/AbstractService.php
vendored
Executable file
100
vendor/OAuth/Common/Service/AbstractService.php
vendored
Executable file
@@ -0,0 +1,100 @@
|
||||
<?php
|
||||
|
||||
namespace OAuth\Common\Service;
|
||||
|
||||
use OAuth\Common\Consumer\CredentialsInterface;
|
||||
use OAuth\Common\Http\Client\ClientInterface;
|
||||
use OAuth\Common\Http\Uri\Uri;
|
||||
use OAuth\Common\Http\Uri\UriInterface;
|
||||
use OAuth\Common\Exception\Exception;
|
||||
use OAuth\Common\Storage\TokenStorageInterface;
|
||||
|
||||
/**
|
||||
* Abstract OAuth service, version-agnostic
|
||||
*/
|
||||
abstract class AbstractService implements ServiceInterface
|
||||
{
|
||||
/** @var Credentials */
|
||||
protected $credentials;
|
||||
|
||||
/** @var ClientInterface */
|
||||
protected $httpClient;
|
||||
|
||||
/** @var TokenStorageInterface */
|
||||
protected $storage;
|
||||
|
||||
/**
|
||||
* @param CredentialsInterface $credentials
|
||||
* @param ClientInterface $httpClient
|
||||
* @param TokenStorageInterface $storage
|
||||
*/
|
||||
public function __construct(
|
||||
CredentialsInterface $credentials,
|
||||
ClientInterface $httpClient,
|
||||
TokenStorageInterface $storage
|
||||
) {
|
||||
$this->credentials = $credentials;
|
||||
$this->httpClient = $httpClient;
|
||||
$this->storage = $storage;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param UriInterface|string $path
|
||||
* @param UriInterface $baseApiUri
|
||||
*
|
||||
* @return UriInterface
|
||||
*
|
||||
* @throws Exception
|
||||
*/
|
||||
protected function determineRequestUriFromPath($path, UriInterface $baseApiUri = null)
|
||||
{
|
||||
if ($path instanceof UriInterface) {
|
||||
$uri = $path;
|
||||
} elseif (stripos($path, 'http://') === 0 || stripos($path, 'https://') === 0) {
|
||||
$uri = new Uri($path);
|
||||
} else {
|
||||
if (null === $baseApiUri) {
|
||||
throw new Exception(
|
||||
'An absolute URI must be passed to ServiceInterface::request as no baseApiUri is set.'
|
||||
);
|
||||
}
|
||||
|
||||
$uri = clone $baseApiUri;
|
||||
if (false !== strpos($path, '?')) {
|
||||
$parts = explode('?', $path, 2);
|
||||
$path = $parts[0];
|
||||
$query = $parts[1];
|
||||
$uri->setQuery($query);
|
||||
}
|
||||
|
||||
if ($path[0] === '/') {
|
||||
$path = substr($path, 1);
|
||||
}
|
||||
|
||||
$uri->setPath($uri->getPath() . $path);
|
||||
}
|
||||
|
||||
return $uri;
|
||||
}
|
||||
|
||||
/**
|
||||
* Accessor to the storage adapter to be able to retrieve tokens
|
||||
*
|
||||
* @return TokenStorageInterface
|
||||
*/
|
||||
public function getStorage()
|
||||
{
|
||||
return $this->storage;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function service()
|
||||
{
|
||||
// get class name without backslashes
|
||||
$classname = get_class($this);
|
||||
|
||||
return preg_replace('/^.*\\\\/', '', $classname);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user