В настоящее время я разрабатываю бэкэнд Swift с использованием Vapor.Мой iOS-клиент использует новую функцию iOS 13 «Войти через Apple».Когда пользователь входит в систему, я получаю идентификационный токен (токен доступа), который является действительным токеном JWT, подписанным Apple.Это отправляется на сервер во всех текущих сеансах связи для проверки подлинности некоторых маршрутов, предоставляемых сервером.
На сервере я хотел бы проверить, что отправленный токен действительно был подписан Apple и специально не создан каким-либо вредоносным ПО.пользователя путем проверки подписи токена.Apple предоставляет конечную точку HTTP для извлечения открытого ключа, чтобы сделать это: Документация Apple .
Однако я не уверен в том, как часто мне приходится запрашивать эту конечную точку, чтобы получить модуль и показатель степенииз API и создайте открытый ключ, чтобы затем проверить подпись. Достаточно ли достаточно сделать один запрос и сохранить открытый ключ на сервере, чтобы использовать его, или мне нужно будет запросить конечную точку HTTP в моем промежуточном программном обеспечении перед проверкой подписи (для каждого защищенного маршрута)?
В принципе я не уверен, будут ли время от времени изменяться модуль и показатель степени.