2016-08-12 5 views
3

Имеет ли смысл в общем случае использовать службу веб-API для отправки вновь созданного токена на каждый запрос, который пользователь делает так, чтобы клиентское приложение должно использовать для следующего запроса?Можно ли обновить Auth Token по каждому запросу?

Я думаю о том, как закончить токены, но если клиентское приложение потребляет данные из API, не требует, чтобы он снова входил в систему.

Я думаю, что это довольно легко реализовать, но не уверен, что с ним могут возникнуть проблемы UX или логики/безопасности.

ответ

2

Это существующий метод и использует концепцию раздвижных сессий объясняется auth0 здесь: Refresh Tokens: When to Use Them and How They Interact with JWTs

Скользящих-сессии сессии, которые истекают после определенного периода бездействия. Когда пользователь выполняет действие, выдается новый токен доступа. Если пользователь использует токен с истекшим доступом, сеанс считается неактивным и требуется новый токен доступа. Этот новый токен может быть получен с помощью токена обновления или требует учетных данных.

0

Да, для веб-службы API имеет смысл отправлять вновь созданный токен для нового пользователя, чтобы клиентское приложение могло использовать его для последующих запросов на от имени пользователя.

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

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

Слайд-сессии - это сеансы, срок действия которых истекает после периода бездействия. Как вы можете себе представить, это легко реализовать, используя токены доступа и обновлять токены. Когда пользователь выполняет действие, выдается новый токен доступа. Если пользователь использует токен с истекшим доступом, сеанс считается неактивным и требуется новый токен доступа. Можно ли получить этот токен с помощью токена обновления или нового раунда проверки подлинности, так как разработчик должен это определить.

refresh tokens рекомендуется в основном для мобильных приложений, а не для веб-приложений. Причина заключалась в том, что обновленные токены действительно долговечны, так как пользователи мобильных приложений постоянно регистрируются навсегда. Вы можете отменить токен обновления, хотя в ситуации, когда он был захвачен или скомпрометирован!

Возможно, вы захотите ознакомиться с этим отличным tutorial, чтобы получить дополнительную информацию о том, как они работают!

Oh @pedrofb уже упомянуто это!

0

Я бы предложил не обновлять токен по каждому запросу.Проще говоря, я хотел бы сделать что-то подобное для того чтобы достигнуть весь процесс

  1. Во-первых, когда пользователь проверку подлинности с помощью приложения, отправив свои полномочия

  2. Создать уникальный маркер и отправить его как назад, как ответ клиенту

  3. создать также клиента куки и установите значение с этой лексемы, мы также можно указать, когда истекает куки, пусть говорят, что истекает каждый 24ч

  4. Таким образом, при последующем запросе захватите файл cookie от вашего клиента, а присоедините его к вашей HTTP-аякс-библиотеке (например, JQuery, RestyGWT, Apache HttpClient или некоторые Android библиотеки HTTP), как Authorization : your_cookie_token

  5. Следующая перехватывать все запросы со стороны сервера проверьте, что заголовок присутствует Authorization

  6. Наконец получить значение заголовка, которые становятся ваш токен, чтобы вы могли сделать некоторые проверки по нему по соображениям безопасности.

Вы можете больше узнать о безопасности и безопасности на основе файлов cookie.

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