Как проверить истечение срока действия токена доступа и отправить токен обновления

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

Я нашел refreshableFetch, но не знаю, использовать его или нет, потому что он не использует токен обновления

fetch('URL', {
            method: 'GET',
            headers: {
               etc...
        })
            .then((response) => response.json())
            .then((responseData) => {
                this.setState({data: responseData})
            })

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


person Ahtesham Shah    schedule 07.01.2019    source источник
comment
Вы можете проверить срок действия токена на конце API и отправить ответ, например {status: false, message: token expired}   -  person Firu    schedule 07.01.2019
comment
спасибо за ответ, но как проверить истечение срока действия токена в моем приложении   -  person Ahtesham Shah    schedule 07.01.2019
comment
вы используете свой собственный API или какой-то сторонний?   -  person Firu    schedule 07.01.2019
comment
Я использую свой собственный API, срок действия которого составляет 36000   -  person Ahtesham Shah    schedule 07.01.2019
comment
вы можете сохранить дату с каждым полем токена и проверить разницу между временем входящего запроса и временем создания вашего токена в db и выполнить шаги в соответствии с моим ответом ниже :)   -  person Firu    schedule 07.01.2019


Ответы (1)


Я могу предложить вам поток того, как вы можете достичь своей цели

  • получить токен доступа
  • отправлять токен доступа с каждым запросом после этого.
  • проверка на стороне сервера истечения срока действия каждого токена входящего запроса.
  • если срок действия токена истек (я предполагаю, что у вас есть дата в вашей базе данных) отправьте { status: false , message: "token expired" } else { status: true, data: "YOUR DATA", message: "" }

  • проверьте статус на стороне клиента, если статус false && сообщение token expire вызовите токен обновления api

  • В API обновления токена обновите новый токен на сервере

Я попытался объяснить вам последовательность действий, поскольку мне неизвестны логика и код вашей серверной части. Надеюсь, вы сможете соответствующим образом изменить код, когда поймете суть :)

person Firu    schedule 07.01.2019