На мобильном устройстве секреты хранят в защищённом хранилище платформы; в вебе часто используют серверную сессию с HttpOnly-cookie. Refresh-токен требует особенно строгой защиты.
Где хранить access и refresh токены в мобильном приложении и на вебе?
На мобильном устройстве секреты хранят в защищённом хранилище платформы; в вебе часто используют серверную сессию с HttpOnly-cookie. Refresh-токен требует особенно строгой защиты.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
На мобильном устройстве секреты хранят в защищённом хранилище платформы; в вебе часто используют серверную сессию с HttpOnly-cookie. Refresh-токен требует особенно строгой защиты.
В iOS подходит Keychain. На Android токен можно хранить зашифрованным в приватных данных приложения, защищая ключ через Android Keystore: это хранилище ключей, а не произвольных строк. Короткоживущий access-токен по возможности держат в памяти. В браузере LocalStorage доступен JavaScript и уязвим при XSS; HttpOnly-cookie требует защиты от CSRF, настроек Secure и SameSite. Продумайте ротацию refresh-токенов, отзыв сессии и очистку при выходе. Токены не должны попадать в URL и логи.
Источник: developer.apple.com, developer.android.com, cheatsheetseries.owasp.org.