Я внедряю авторизацию HMAC в своем SPA и использую текущую дату и время в качестве части моего хэша, чтобы токены могли истечь.Очевидно, что на компьютере клиента может быть установлена любая дата и время, и для правильной проверки на сервере она должна соответствовать дате и времени сервера.Каков наилучший способ для этого?
В настоящее время я могу придумать несколько способов, которые будут работать:
- Перед каждым запросом отправляйте запрос API для получения даты и времени текущего сервера(не предпочтительный метод, так как это, по сути, удваивает количество запросов AJAX).
- При загрузке страницы отправьте запрос API для получения даты и времени текущего сервера, а также сохраните дату и время клиента.Для любых дальнейших ajax-запросов сравните текущее время со временем клиента и добавьте ту же разницу к сохраненному начальному времени сервера, чтобы по существу получить время сервера.
- То же, что # 2, но вместо первоначального запроса API вставьтедата и время на самой странице HTML.
Есть ли какой-нибудь лучший способ, о котором я не думаю?Какие-либо предостережения № 2 и № 3 (с часовыми поясами, DST и т. Д.), Которые мне не хватает?
Спасибо!