Решил поиграться с REST, в большей степени разобрался, но застрял с авторизацией. Вроде бы принцип понял, но видимо не правильно.
Вот контроллер:
<?php
namespace frontend\controllers;
use yii;
use yii\rest\Controller;
use yii\filters\auth\QueryParamAuth;
class QuestionController extends Controller
{
public function behaviors()
{
$behaviors = parent::behaviors();
$behaviors['authenticator']['class'] = QueryParamAuth::className();
$behaviors['authenticator']['only'] = ['init'];
return $behaviors;
}
public function actionInit(){
return 124;
}
}
вот в модели User метод:
public static function findIdentityByAccessToken($token, $type = null)
{
return static::findOne(['auth_key' => $token]);
}
вот на другом сайте ajax запрос к api:
$(function() {
$.ajax('https://mysite/api/init',{
dataType: "json",
method: 'post',
data: {access_token:'1NLS4Os8zNwdeImN2hUUcaDpnTzNrfeM'},
success: function (data) {
$("#question").attr('data-key',data);
$("#loader").hide();
$("#test-body").show();
}
});
});
С маршрутизацией все ок, запрос попадает по адресу. Передает существующий auth_key, но отвечает сервер так:
code:0
message:"Your request was made with invalid credentials."
name:"Unauthorized"
status:401
Такое ощущение, что не правильно передан token, как буд-то он его не видит. Уже пять раз прошелся по всем методам и не пойму что не так. Нужен хелп.