Работа с истечением срока действия токена OAuth 2.0 у потребителя

У меня есть клиентское приложение, которое использует oauth2 с правами доступа владельца ресурса типа разрешения авторизации. Я пишу HTTP-запрос curl для получения токена доступа, когда пользователь предоставляет свои учетные данные, но как запросить другой токен доступа, когда истек срок действия первого. Я прочитал, что это хорошо, чтобы оценить действительность токена доступа. Я нашел эту клиентскую библиотеку но я не думаю, что это решит мою проблему, связанную с запросом нового токена доступа после его истечения или даже когда срок действия маркера обновления тоже истек.

Может кто-нибудь указать мне правильное направление, как реализовать это или использовать библиотеку для этой цели, пожалуйста?

0

Решение

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

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

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

Если срок действия маркера обновления истек, процесс авторизации oAuth должен начаться заново.

0

Другие решения

полученный вами токен OAuth2 будет иметь продолжительность. Срок действия каждого токена истекает через определенное время, и эта информация отправляется обратно как часть объекта, который вы получаете. Таким образом, вы можете хранить его локально и использовать его до истечения срока годности.
После истечения срока действия у вас есть два варианта:

  1. Запросить другой токен
  2. Обновите существующий токен. Многие поставщики OAuth2 предлагают эту функцию.

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

редактировать

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

0

По вопросам рекламы [email protected]