73 lines
1.5 KiB
PHP
73 lines
1.5 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace Grav\Plugin\Login\OAuth2\Providers;
|
||
|
|
||
|
use League\OAuth2\Client\Provider\AbstractProvider;
|
||
|
use League\OAuth2\Client\Provider\ResourceOwnerInterface;
|
||
|
use League\OAuth2\Client\Token\AccessToken;
|
||
|
|
||
|
interface ProviderInterface
|
||
|
{
|
||
|
/**
|
||
|
* @param array $options
|
||
|
* @return bool
|
||
|
*/
|
||
|
public static function checkIfActive(array $options): bool;
|
||
|
|
||
|
public function __construct();
|
||
|
|
||
|
/**
|
||
|
* @param array $options
|
||
|
* @return void
|
||
|
*/
|
||
|
public function initProvider(array $options);
|
||
|
|
||
|
/**
|
||
|
* @return string
|
||
|
*/
|
||
|
public function getName();
|
||
|
|
||
|
/**
|
||
|
* @return string
|
||
|
*/
|
||
|
public function getState();
|
||
|
|
||
|
/**
|
||
|
* @param string $state
|
||
|
* @return $this
|
||
|
*/
|
||
|
public function setState(string $state);
|
||
|
|
||
|
/**
|
||
|
* @return AbstractProvider
|
||
|
*/
|
||
|
public function getProvider();
|
||
|
|
||
|
/**
|
||
|
* @return string
|
||
|
*/
|
||
|
public function getAuthorizationUrl();
|
||
|
|
||
|
/**
|
||
|
* Requests an access token using a specified grant and option set.
|
||
|
*
|
||
|
* @param mixed $grant
|
||
|
* @param array $options
|
||
|
* @return AccessToken
|
||
|
*/
|
||
|
public function getAccessToken($grant, array $options = []);
|
||
|
|
||
|
/**
|
||
|
* Requests and returns the resource owner of given access token.
|
||
|
*
|
||
|
* @param AccessToken $token
|
||
|
* @return ResourceOwnerInterface
|
||
|
*/
|
||
|
public function getResourceOwner(AccessToken $token);
|
||
|
|
||
|
/**
|
||
|
* @param ResourceOwnerInterface $user
|
||
|
* @return array
|
||
|
*/
|
||
|
public function getUserData(ResourceOwnerInterface $user);
|
||
|
}
|