Вот краткий ответ на ваши вопросы при использовании Auth0:
- Да!Вы храните его, наиболее безопасный способ хранения токена - в локальном хранилище вашего устройства, поэтому он не сохраняется ни в состоянии приложения, ни в глобальной переменной.
2 & 3.См. Выше, но чтобы добавить больше информации, вы можете настроить свои токены на срок действия.теоретически вы могли бы преобразовать это «время истечения от начала» в объект даты, и можете сделать одну из двух вещей;Вы можете запросить новый токен, используя Refresh Token (который поставляется с оригиналом), как только истечет срок его действия, или заставить пользователя повторно войти в систему и выпустить новый токен в это время (я предпочитаю последний, запрещает людямпросто обновлять свои токены навсегда, пока они остаются в системе)
Используйте токен авторизации для запроса информации о пользователе после входа в систему, она может храниться в состоянии приложения / глобальных переменных / где угодно.Затем вы захотите использовать токен аутентификации в заголовке авторизации для каждого вызова API вместе с любыми данными, которые вы отправляете.это гарантирует, что даже когда кто-то находится ВНУТРИ приложения, у него должен быть действительный токен, чтобы фактически делать что-либо с данными (представьте, что кто-то заходит в ваше приложение и пропускает авторизацию, или использует что-то вроде почтальона, чтобы просто забить ваш API мусором).).это будет работать примерно так: GET userData {Header: токен auth} -> GET userProfile (отправив идентификатор пользователя, возвращенный из GET userData) PLUS {Header: токен auth}
Я могу дать большеподробные примеры, если вы хотите, и я прошу прощения, если я неправильно понял любой вопрос и дал избыточные / неправильные ответы
Редактировать: Ресурсы об использовании безопасного хранения для ключей
Документ о том, когда использовать хранилище в памяти и постоянное хранилище.TL; DR используется в памяти, если ожидается, что срок действия ключа истекает раньше стандартной продолжительности сеанса, и является постоянным для хранения ключа между сеансами https://hackernoon.com/mobile-api-security-techniques-682a5da4fe10
ссылка на Службы цепочки ключей doc https://developer.apple.com/documentation/security/keychain_services#//apple_ref/doc/uid/TP30000897-CH203-TP1
ссылка на SharedPreferences doc https://developer.android.com/reference/android/content/SharedPreferences.html