Как я могу проверить, действителен ли токен API

0

Я использую токен для моего API, проблема в том, что когда токен недействителен (время жить <0), нет способа узнать его, поэтому вы продолжаете и заполняете форму, и только когда вы ее отправляете, вы получаете сообщение "недопустимый токен", который действительно раздражает. Моя идея - написать скрипт, который проверяет время токена, чтобы жить каждые 10 секунд, а затем, если он недействителен, я могу отключить формы, например, или отобразить поле, чтобы заставить пользователя перезагрузить страницу. Возможно, у вас, ребята, лучшие идеи, поэтому, пожалуйста, не стесняйтесь делиться.

  • 1
    Не могли бы вы рассказать, зачем вам нужен такой недолговечный токен? Почему бы не выпустить относительно долгоживущие токены? Я имею в виду, что если они часто вымирают, вам, возможно, придется установить маркерную жизнь немного дольше, чтобы заполнить форму.
  • 1
    Некоторые страницы делают то, что вы говорите; они выскакивают сообщение с просьбой обновить, но я не думаю, что это круто. В идеале токен должен быть достаточно длинным, чтобы выполнять несколько задач, но запрещать задачи, отправленные через «долгое» время. Какой токен доступа вы разработали для своего API?
Показать ещё 7 комментариев
Теги:
token

1 ответ

2
Лучший ответ

Вы можете сделать это очень простым способом, я бы предположил, что у вас есть "время истечения", установленное на вашей стороне сервера для вашего токена. Вы можете просто вернуться на этот раз и иметь функцию JS, проверить это значение каждые x секунд или на каждое требуемое действие (открыть поп/форму/и т.д.).

Вероятно, когда вы возвращаете токен, ваш json может выглядеть примерно так:

{
    token:"1234567890",
    expire: "1427484624" //timestamp in seconds, easier to compare
}

Тогда ваша JS-функция может быть такой простой, как:

function isValidToken(token){
    cTs=Math.floor(Date.now() / 1000);
    return (token>=cTs);
}

и таким образом вы можете очень легко узнать.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню