Файлы cookie, потерянные во время перенаправления Oauth2 в Chrome - PullRequest
0 голосов
/ 03 февраля 2020

У меня есть поток OAuth2 (реализован с использованием spring-boot-starter-security и spring-security-oauth2-client ).

  1. клиент заходит в / authorize / { провайдера }? redirect_uri = { redirectURL }
  2. Клиенту показывается страница входа в систему провайдера и его просят авторизовать
  3. Как только клиент (JavaScript) авторизует приложение, сервер ресурсов (Spring Boot 2.2.3) обменивается кодом авторизации с сервером авторизации провайдера для токена доступа
  4. Затем сервер ресурсов отправляет клиента на redirectURL с токеном JWT, установленным в коде ie, следующим образом:

    Cookie cookie = new Cookie("token", token);
    long expiryMsec = (int) appProperties.getAuth().getTokenExpirationMsec();
    int expiry = (int) Math.floor(expiryMsec/1000.0);
    cookie.setMaxAge(expiry);
    cookie.setHttpOnly(true);
    
    response.addCookie(cookie);
    

Хотя этот код ie не устанавливается, и когда следующий запрос приходит в куки все еще пусто. Я думаю, что повар ie теряется во время перенаправления или chrome не позволяет установить повар ie из-за проблем с источником. Какова бы ни была причина, есть ли обходной путь для этого, я не хочу устанавливать повар ie с клиента.

Я использую Chrome - 79.0.3945.130

Ссылки :

https://github.com/request/request/issues/1502

Chrome не отправляет файлы cookie после перенаправления

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