Аутентификация на основе JWT для веб-приложения и собственного приложения для Android

У меня есть внутренний сервер, реализующий аутентификацию на основе JWT для REST API. Хотя интерфейсное веб-приложение разработано на angular js, я планирую хранить JWT в файле cookie HTTPOnly (с защитой CSRF). К этим REST API также обращается собственное приложение для Android. Однако похоже, что родное приложение для Android не может устанавливать файлы cookie. Я бы не хотел хранить JWT в локальном хранилище браузера.

Есть ли общий и безопасный способ реализации аутентификации на основе JWT для REST API, который работает как для веб-приложения, так и для собственного мобильного приложения для Android?

Раньше я думал об использовании USER-AGENT, чтобы различать веб-приложение и мобильное приложение и реализовать два разных механизма аутентификации.


person Ravi Trivedi    schedule 02.07.2019    source источник


Ответы (1)


Если вы используете протокол (OAuth 2.0), вы отправляете токен пользователю только с помощью фрагмента, строки запроса или сообщения формы (в зависимости от предпочтений клиента), а не файла cookie! Как они хранят токен, зависит от них. После того, как вы отправите что-то общедоступному клиенту, сохранить что-либо будет негде. вам лучше поместить токен в локальное хранилище или хранилище сеансов, а не в файлы cookie, которые могут привести к атакам CSRF. Access_Token недолговечен, и его утечка не должна причинить вреда.

person Hesam Kashefi    schedule 14.08.2019