Пример #1
0
 /**
  * Persists a new access token to permanent storage.
  *
  * @param \League\OAuth2\Server\Entities\AccessTokenEntityInterface $accessTokenEntity
  * @return mixed
  */
 public function persistNewAccessToken(AccessTokenEntityInterface $accessTokenEntity)
 {
     $db = CommonModel::getDb();
     $transaction = $db->beginTransaction();
     try {
         $accessTokenModel = new AccessTokensModel();
         $accessTokenModel->id = $accessTokenEntity->getIdentifier();
         $accessTokenModel->expire_time = $accessTokenEntity->getExpiryDateTime()->getTimestamp();
         $accessTokenModel->user_id = $accessTokenEntity->getUserIdentifier();
         $accessTokenModel->client_id = $accessTokenEntity->getClient()->getIdentifier();
         if (!$accessTokenModel->save()) {
             return false;
         }
         foreach ($accessTokenEntity->getScopes() as $item) {
             $accessTokenScopesModel = new AccessTokenScopesModel();
             $accessTokenScopesModel->access_token_id = $accessTokenModel->id;
             $accessTokenScopesModel->scope_id = $item->getIdentifier();
             $accessTokenScopesModel->save();
         }
         $transaction->commit();
         return true;
     } catch (\Exception $e) {
         $transaction->rollBack();
         return false;
     }
 }
Пример #2
0
 /**
  * @param  string $clientIdentifier
  * @param  string $scope |null
  * @return boolean
  */
 public function removeClientScope($clientIdentifier, $scope = null)
 {
     $condition = ['client_id' => $clientIdentifier];
     if ($scope) {
         $condition['scope_id'] = $scope;
     }
     $scopes = ClientScopesModel::findAll($condition);
     $db = CommonModel::getDb();
     $transaction = $db->beginTransaction();
     try {
         foreach ($scopes as $scope) {
             $scope->delete();
         }
         $transaction->commit();
         return true;
     } catch (\Exception $e) {
         $transaction->rollBack();
         return false;
     }
 }