本文整理汇总了PHP中League\OAuth2\Client\Provider\AbstractProvider类的典型用法代码示例。如果您正苦于以下问题:PHP AbstractProvider类的具体用法?PHP AbstractProvider怎么用?PHP AbstractProvider使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了AbstractProvider类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: moveToAuth
private function moveToAuth(AbstractProvider $provider)
{
$authorizationUrl = $provider->getAuthorizationUrl();
$_SESSION['oauth2state'] = $provider->getState();
header('Location: ' . $authorizationUrl);
exit;
}
示例2: makeRegistrationRequest
protected function makeRegistrationRequest(AbstractProvider $provider, AccessToken $accessToken) : RegistrationRequest
{
/** @var GoogleUser $resourceOwner */
$resourceOwner = $provider->getResourceOwner($accessToken);
$email = $resourceOwner->getEmail();
$providerAccountId = (string) $resourceOwner->getId();
return new RegistrationRequest('google', $providerAccountId, $email, $resourceOwner);
}
示例3: afterGetAccessToken
/**
* @param AbstractProvider $provider
* @param AccessToken $token
* @param string $providerName
* @param SS_HTTPRequest $request
*/
public function afterGetAccessToken(AbstractProvider $provider, AccessToken $token, $providerName, SS_HTTPRequest $request)
{
$user = $provider->getResourceOwner($token);
try {
$member = $this->memberFromResourceOwner($user, $providerName);
$this->owner->setMember($member);
} catch (TokenlessUserExistsException $e) {
return Security::permissionFailure($this->owner, $e->getMessage());
}
$result = $member->canLogIn();
if (!$result->valid()) {
return Security::permissionFailure($this->owner, $result->message());
}
$member->logIn();
}
示例4: authenticate
/**
* {@inheritdoc}
*/
public function authenticate(RequestInterface $request)
{
// TODO: add error handling
// TODO: support other grant types?
$accessToken = $this->provider->getAccessToken('client_credentials');
return $request->withHeader('Authorization', 'Bearer ' . $accessToken);
}
示例5: testSetRedirectHandler
public function testSetRedirectHandler()
{
$this->testFunction = false;
$callback = function ($url) {
$this->testFunction = $url;
};
$this->provider->setRedirectHandler($callback);
$this->provider->authorize('http://test.url/');
$this->assertNotFalse($this->testFunction);
}
示例6: __construct
/**
* Constructs an OAuth 2.0 service provider.
*
* @param array $options An array of options to set on this provider.
* Options include `clientId`, `clientSecret`, `redirectUri`, and `state`.
* Individual providers may introduce more options, as needed.
* @param array $collaborators An array of collaborators that may be used to
* override this provider's default behavior. Collaborators include
* `grantFactory`, `requestFactory`, `httpClient`, and `randomFactory`.
* Individual providers may introduce more collaborators, as needed.
*/
public function __construct(array $options = [], array $collaborators = [])
{
parent::__construct($options, $collaborators);
if ($this->token) {
$this->token = new ModulbankAccessToken(['accessToken' => $this->token]);
}
}
示例7: prepareAccessTokenResponse
/**
* Prepares an parsed access token response for a grant.
*
* Custom mapping of expiration, etc should be done here. Always call the
* parent method when overloading this method.
*
* @param mixed $result
* @return array
*/
protected function prepareAccessTokenResponse(array $result)
{
if (isset($result['data'])) {
$result = $result['data'];
}
return parent::prepareAccessTokenResponse($result);
}
示例8: getAccessToken
public function getAccessToken($grant, array $options = [])
{
if ($this->authWithResource) {
$options['resource'] = $this->resource ? $this->resource : $this->urlAPI;
}
return parent::getAccessToken($grant, $options);
}
示例9: __construct
/**
* Provider constructor.
* @param array $options
*/
public function __construct(array $options = array())
{
parent::__construct($options);
if (isset($options['sandbox']) && $options['sandbox']) {
$this->baseURL = 'https://api.sandbox.freeagent.com/v2/';
}
}
示例10: __construct
public function __construct($options = [])
{
if (!array_has($options, 'redirectUri')) {
$options['redirectUri'] = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] . '?' . $_SERVER['QUERY_STRING'];
}
parent::__construct($options);
}
示例11: __construct
/**
* Constructs an OAuth 2.0 service provider.
*
* @param array $options An array of options to set on this provider.
* Options include `clientId`, `clientSecret`, `redirectUri`, and `state`.
* Individual providers may introduce more options, as needed.
* @param array $collaborators An array of collaborators that may be used to
* override this provider's default behavior. Collaborators include
* `grantFactory`, `requestFactory`, `httpClient`, and `randomFactory`.
* Individual providers may introduce more collaborators, as needed.
*/
public function __construct(array $options = [], array $collaborators = [])
{
parent::__construct($options, $collaborators);
if (empty($this->subdomain)) {
throw new Exception\ProviderConfigurationException('No subdomain has been configured for this Zendesk provider; it has to have a subdomain.');
}
}
示例12: getAccessToken
/**
* @param $grant
* @param array $params
*/
public function getAccessToken($grant = 'authorization_code', array $params = [])
{
if (isset($params['refresh_token'])) {
throw new LightspeedProviderException('Lightspeed does not support token refreshing.');
}
return parent::getAccessToken($grant, $params);
}
示例13: __construct
/**
* Gitlab constructor.
*
* @param array $options
* @param array $collaborators
*/
public function __construct(array $options, array $collaborators = [])
{
if (isset($options['domain'])) {
$this->domain = $options['domain'];
}
parent::__construct($options, $collaborators);
}
示例14: __construct
public function __construct($options = [])
{
if (empty($options['domainPrefix'])) {
throw new \RuntimeException('Vend provider requires a "domainPrefix" option');
}
parent::__construct($options);
}
示例15: __construct
/**
* @param array $options
* @param array $collaborators
*/
public function __construct($options = [], array $collaborators = [])
{
parent::__construct($options);
if (isset($options['devMode'])) {
$this->setDevMode($options['devMode']);
}
}