Срок действия ядра JWT Google Cloud IoT на самом деле составляет 24 часа? - PullRequest
0 голосов
/ 20 февраля 2019

В настоящее время я программирую свое устройство в рамках проекта IoT с помощью облачных сервисов Google.

Почти все работает, но не все.Я отредактировал оригинальную библиотеку MQTT для Python, и она начала работать правильно, если я установил срок действия токена JWT менее чем на 2 часа

Является ли 24 часа допустимым временем истечения для токена JWT?Или, может, я что-то не так делаю?

Я использую Raspberry PI 3B + и Python 3.6.7

Мой токен доступа и обновления JWT такой же, как в библиотеке от Google в Github,Моя библиотека запускает ее только в нескольких потоках, чтобы я мог создать несколько соединений с одного устройства.

Редактировать: я изменил эту строку в функции create_jwt ...

'exp': datetime.datetime.utcnow() + datetime.timedelta(minute=20)

до

'exp': datetime.datetime.utcnow() + datetime.timedelta(hours=12)

Ответы [ 2 ]

0 голосов
/ 21 февраля 2019

Да, максимальное время жизни JWT составляет 24 часа (плюс немного, чтобы учесть перекос часов).

Вот выдержка из страницы документов: https://cloud.google.com/iot/docs/how-tos/credentials/jwts

(«Истечение срока действия»): отметка времени, когда токен перестает быть действительным, указывается в секундах с 00:00:00 UTC, 1 января 1970 года. Максимальное время жизни токена составляет 24 часа + перекос.

0 голосов
/ 20 февраля 2019

Одной из возможных причин этой проблемы является неправильная установка часов вашего Raspberry Pi.Например, возможно, что системные часы настроены на местное время вместо UTC.Убедитесь, что date --utc возвращает правильное время UTC.

...