当前位置: 首页>>代码示例>>PHP>>正文


PHP User::setProviderAccessToken方法代码示例

本文整理汇总了PHP中App\Model\User::setProviderAccessToken方法的典型用法代码示例。如果您正苦于以下问题:PHP User::setProviderAccessToken方法的具体用法?PHP User::setProviderAccessToken怎么用?PHP User::setProviderAccessToken使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在App\Model\User的用法示例。


在下文中一共展示了User::setProviderAccessToken方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: handleOAuthCallback

 /**
  * @param Request $request
  * @param User    $user
  *
  * @return array
  */
 public function handleOAuthCallback(Request $request, User $user = null)
 {
     $oauthVerifier = $request->get('oauth_verifier');
     $oauthToken = $request->get('oauth_token');
     $temporaryCredentials = $this->session->get('provider/' . $this->getName() . '/temporary_credentials');
     $tokenCredentials = $this->oauthClient->getTokenCredentials($temporaryCredentials, $oauthToken, $oauthVerifier);
     $userDetails = $this->oauthClient->getUserDetails($tokenCredentials);
     $accessToken = ['identifier' => $tokenCredentials->getIdentifier(), 'secret' => $tokenCredentials->getSecret(), 'username' => $userDetails->nickname];
     if (null !== $user) {
         $user->setProviderAccessToken($this->getName(), $accessToken);
     }
     return ['access_token' => $accessToken, 'scope' => null];
 }
开发者ID:blazarecki,项目名称:stage1,代码行数:19,代码来源:ProviderSkeleton.php

示例2: handleOAuthCallback

 /**
  * @param Request $request
  * @param User    $user
  *
  * @todo passing $user should not be allowed
  */
 public function handleOAuthCallback(Request $request, User $user = null)
 {
     $code = $request->get('code');
     $token = $request->get('state');
     if (!$this->csrfProvider->isCsrfTokenValid($this->getName(), $token)) {
         throw new ProviderException('CSRF Mismatch');
     }
     $payload = ['client_id' => $this->getOAuthClientId(), 'client_secret' => $this->getOAuthClientSecret(), 'code' => $code];
     $client = clone $this->client;
     $client->setDefaultOption('headers/Accept', 'application/json');
     $request = $client->post($this->getAccessTokenUrl());
     $request->setBody(http_build_query($payload));
     $response = $request->send();
     $data = $response->json();
     if (array_key_exists('error', $data)) {
         $this->logger->error('An error occurred during authentication', ['data' => $data]);
         throw new ProviderException(sprintf('%s: %s', $data['error'], $data['error_description']));
     }
     if (null !== $user) {
         $user->setProviderAccessToken($this->getName(), $data['access_token']);
         $user->setProviderScopes($this->getName(), explode(',', $data['scope']));
     }
     return ['access_token' => $data['access_token'], 'scope' => $data['scope']];
 }
开发者ID:blazarecki,项目名称:stage1,代码行数:30,代码来源:OAuthProviderTrait.php


注:本文中的App\Model\User::setProviderAccessToken方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。