Проверка oAuth авторизации организована через oauth компонент и больше не завязана на реализации внутри моделей приложения

This commit is contained in:
ErickSkrauch
2016-11-30 12:19:10 +03:00
parent 422d5c4fd4
commit 23d079346b
4 changed files with 27 additions and 28 deletions

View File

@@ -1,7 +1,7 @@
<?php
namespace api\components\ApiUser;
use common\models\OauthAccessToken;
use Yii;
use yii\rbac\CheckAccessInterface;
class AuthChecker implements CheckAccessInterface {
@@ -10,13 +10,12 @@ class AuthChecker implements CheckAccessInterface {
* @inheritdoc
*/
public function checkAccess($token, $permissionName, $params = []) : bool {
/** @var OauthAccessToken|null $accessToken */
$accessToken = OauthAccessToken::findOne($token);
$accessToken = Yii::$app->oauth->getAuthServer()->getAccessTokenStorage()->get($token);
if ($accessToken === null) {
return false;
}
return $accessToken->getScopes()->exists($permissionName);
return $accessToken->hasScope($permissionName);
}
}