HttpOnly SameSite=Ни один файл cookie не сохраняется на мобильном устройстве, работает на настольном компьютере.JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 HttpOnly SameSite=Ни один файл cookie не сохраняется на мобильном устройстве, работает на настольном компьютере.

Сообщение Anonymous »

Я работаю над серверной частью Spring Boot с интерфейсом React. Я устанавливаю файл cookie HttpOnly для токенов обновления следующим образом:

Код: Выделить всё

@NotNull
private ResponseEntity getStringResponseEntity(HttpServletResponse response, UserDetails userDetails, Authentication auth) {
String accessToken = jwtService.getToken(userDetails);
String refreshToken = jwtService.getRefreshToken(auth.getName());

ResponseCookie cookie = ResponseCookie.from("refresh_token", refreshToken)
.path("/")
.maxAge(432000)
.httpOnly(true)
.secure(true) // only sends over HTTPS
.sameSite("None")
.build();

response.addHeader(HttpHeaders.SET_COOKIE, cookie.toString());

return ResponseEntity.ok()
.header(HttpHeaders.AUTHORIZATION, "Bearer " + accessToken)
.header(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, "Authorization")
.build();
}
В настольных браузерах файл cookie токена обновления устанавливается правильно и отправляется с запросами.
В мобильных браузерах файл cookie никогда не сохраняется и запросы не выполняются, если я полностью не отключу межсайтовые ограничения (SameSite).
Я пробовал:
sameSite("None") с безопасным (true)
Убедиться, что интерфейс и серверная часть подключены к HTTPS через Ngrok.
Вопрос:
Почему файл cookie токена обновления работает на настольном компьютере, но не на мобильном устройстве при использовании HttpOnly и SameSite=None?
Существуют ли ограничения для мобильных устройств на файлы cookie с межсайтовыми запросами в настройках Spring Boot + React?
Дополнительная информация:
React выполняет запросы с помощью Axios:

Код: Выделить всё

const API = axios.create({
baseURL: "https://my-backend.ngrok.app",
withCredentials: true
});
  • Java 21
  • Проверено на мобильных устройствах в iOS Safari.
Будем признательны за любые рекомендации о том, как заставить постоянные файлы cookie работать в мобильных браузерах в этой настройке для разных источников.


Подробнее здесь: https://stackoverflow.com/questions/798 ... on-desktop
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»