Cookie устанавливается даже после withCredentials: true и access-control-allow-credentials: true headers - PullRequest
0 голосов
/ 17 октября 2019

Я развернул свой сервис входа в систему на AWS. Когда я выполняю API входа в систему с использованием curl, я получаю следующие заголовки

< HTTP/2 200
< date: Thu, 17 Oct 2019 08:04:36 GMT
< content-type: application/json;charset=UTF-8
< content-length: 147
< server: Apache/2.4.39 ()
< access-control-allow-methods: POST, GET, OPTIONS, DELETE, PUT
< access-control-max-age: 1000
< access-control-allow-headers: x-requested-with, Content-Type, origin, authorization, accept, client-security-token,h1
< access-control-allow-credentials: true
< set-cookie: ck11=test_562486867; Path=/; Secure; HttpOnly
<

. Он возвращает set-cookie, а также заголовки access-control-allow-credentials, которые, как мне кажется, достаточно для установки файлов cookie в браузере. запрос curl, как показано ниже

curl -v -XPOST -H "h1: value1" -H "Content-type: application/json" -H "withCredentials: true" -d '{"userName" : "xxxx","userPwd" : "xxxx"}' 'https://api.domain.com/srv/lg'

Я мог видеть, как устанавливаются файлы cookie, когда тот же запрос выполняется для почтальона. Но доза куки не устанавливается в браузере. API для угловых вызовов:

return {

userLogin : function($scope) {
    var config = {
        headers : {
            'h1' : "value1",
        },
        withCredentials : true
    };
    var data = {
        'userName' : $scope.username,
        'userPwd' : $scope.userpassword
    }
    return $http.post(`${URL}/srv/lg?ver=`+Math.floor(Math.random()*100000+1),data, config)
},

Заголовок ответа в браузере

access-control-allow-credentials: true
access-control-allow-headers: x-requested-with, Content-Type, origin, authorization, accept, client-security-token,h1
access-control-allow-methods: POST, GET, OPTIONS, DELETE, PUT
access-control-allow-origin: https://web.domain.com
access-control-max-age: 1000
content-length: 147
content-type: application/json;charset=UTF-8
date: Thu, 17 Oct 2019 09:35:01 GMT
server: Apache/2.4.39 ()
status: 200 

Пожалуйста, помогите. Понятия не имею, в чем дело.

Обратите внимание, что из браузера сначала запускается опция, а затем исполняется запрос.

Также служба устанавливает cookie в браузере, когда он запускается на локальном компьютере. Но при развертывании в AWS и открытии через него браузер не устанавливает cookie.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...