2016-07-22 5 views
4

Я реализую приложение для Android, которое должно содержать логин пользователя. Для этого я создаю свой собственный аутентификатор с целью входа только один раз. Затем AccountManager может запрашивать токены доступа, поэтому приложение не обрабатывает пароли напрямую. AccountManager хранит учетную запись пользователя и токен.Внедрение JWT-аутентификации в Android с помощью диспетчера учетных записей

Я использую JWT (Json Web Token) для аутентификации пользователя в моем REST API.

Интересно, правильно ли этот поток или есть лучший подход для этого в Android.

Вот поток настоящее время я использую:

  1. Пользователь введите имя пользователя и пароль в окне входа в первый раз.

  2. Я делаю запрос серверу на получение действительного токена (JWT), который хранится в диспетчере учетных записей.

  3. Последующие запросы используют полученный токен доступа до истечения (1 час) для извлечения содержимого из API.

  4. После того, как токен истек, он может быть обновлен до двух недель после выпуска. С этого момента учетные данные пользователя необходимы для извлечения нового токена.

Правильно ли этот процесс работает с токеном и освежает его? Безопасен ли этот процесс? Есть ли другие варианты?

Учитывая, что этот поток не использует «токен обновления» для генерации нового, но токена доступа, что будет лучшим использованием Диспетчера учетных записей Android? Какие еще инструменты я должен использовать? Рекомендуется ли реализовать реализацию Oauth2 вдоль JWT, чтобы реализовать «токен обновления»?

Cheers!

+0

Вы получили решение? – ezdookie

+0

@ezdookie Нет, я только что реализовал систему, как я описал –

ответ

1

Я могу сказать, что вы находитесь на правильном пути использования JSON Web Tokens и воспроизводите его.

но безопасность вы упомянули все о шифрования маркера вы извлеченный, а затем сохранить его в диспетчере счета (также же с учетными данными пользователя) с каким-либо способом шифрования вашего выбора, как AES или RSA и затем расшифруйте, если вы хотите использовать. Также использование секретного ключа, созданного сервером, с секретным алгоритмом, убьет выстрел для любого хакера.

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

Использование этих трюков уменьшит необходимость использования Oauth 2.0, который включает токен обновления.

надеюсь, что это поможет

 Смежные вопросы

  • Нет связанных вопросов^_^