У меня есть следующий код в папке/контроллера АФИ в моем проекте:Yii2 REST API аутентификации с параметрами GET
class TunnelVentilationDampersController extends ActiveController
{
public $modelClass = 'common\models\TunnelVentilationDamper';
public function behaviors()
{
$behaviors = parent::behaviors();
$behaviors['authenticator'] = [
// multiple authenticators
'class' => CompositeAuth::className(),
'authMethods' => [
[
// first authenticator
'class' => HttpBasicAuth::className(),
'auth' => function($username, $password)
{
$out = null;
$user = User::findByUsername($username);
if($user!=null)
{
if($user->validatePassword($password))
$out = $user;
}
// user is null
return $out;
}
],
[
'class' => QueryParamAuth::className(),
]
]
];
return $behaviors;
}
public function actionAccessTokenByUser($username, $passwordHash)
{
$accessToken = null;
$user = User::findOne(['username' => $username, 'password_hash' => $passwordHash]);
if($user!=null)
{
$user->access_token = \Yii::$app->security->generateRandomString();
$user->save();
$accessToken = $user->access_token;
}
return [ 'access-token' => $accessToken ];
}
}
Я хочу, чтобы отправить свое имя пользователя и passwordHash как параметры GET. Но когда я получаю доступ к URL-адресу: http://localhost/assetMaint/api/web/tunnel-ventilation-dampers/access-token-by-user?username=foo&passwordHash= $ 2a $ 10 $ vCkYc3H9OvSVt9n.R/mi3ORO2.89CJvZnj1AfYxhBGS.xlSOBfwlO. Я получаю такую ошибку ответа:
Куда я иду не так?