proudmore
@proudmore

Нужно ли при CORS basic http авторизации указывать AllowCredentials = true?

Здравствуйте. Возник вопрос: никак не могу авторизовать пользователя на стороннем API домене.
Как сервер использую yii2, вот конфигурация cors фильтра:
public function behaviors()
    {
        $behaviors = parent::behaviors();
        $behaviors['corsFilter'] = [
            'class' => \yii\filters\Cors::className(),
            'cors' => [
                'Origin' => ['*'],
                'Access-Control-Request-Headers' => ['X-Authentication', 'Authorization'],
                'Access-Control-Request-Methods' => ['OPTIONS', 'GET', 'PUT', 'PATCH', 'DELETE', 'POST']
                //'Access-Control-Allow-Credentials' => true,
                ]
        ];
        $behaviors['authenticator'] = [
            'class' => HttpBasicAuth::className(),
            'auth' => [$this, 'auth'],
            'except' => ['options']
        ];
        return $behaviors;
    }

Клиент:
function sendToken() {
    var username = $("input#login").val();
    var password = $("input#password").val();
    var token = "Basic " + btoa(username + ":" + password);
    console.log(token);

    $.ajax({
        url: 'http://admin.tech.local/api/voyages',
        type: 'GET',
        crossDomain: true,
        success: function (){
            alert('Thanks for your comment!');
        },
        beforeSend: function (xhr) {
            xhr.setRequestHeader('Authorization', token);
        }
    })
}

Прочитал, что нужно указывать AllowCredentials, но ведь этот заголовок говорит браузеру передавать куки, в то время, как в моем АПИ нет сессий.
Где вообще я свернул не туда?
  • Вопрос задан
  • 225 просмотров
Пригласить эксперта
Ответы на вопрос 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
А как куки зависят от того, что у Вас нет сессии?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы