我目前正在使用Vapor开发Swift后端。我的iOS客户端使用新的iOS 13功能“使用Apple登录”。当用户登录时,我得到一个身份令牌(访问令牌),它是Apple签名的有效JWT令牌。它将在所有正在进行的通信中发送到服务器,以验证服务器提供的某些路由。
在服务器上,我想验证发送的令牌确实由Apple签名,并且不是某些恶意用户通过验证令牌签名专门制作的。 Apple提供了HTTP端点来检索公用密钥,以执行此操作:Apple Documentation。
但是,我不确定要查询该端点多长时间才能从API检索模数和指数,并构建公钥以验证签名。 是否足以查询一次并将其存储在服务器上以使用它呢?还是我需要在验证签名(针对每个受保护的路由)之前查询中间件中的HTTP端点? < / p>
基本上我不确定模数和指数是否会不时改变。
答案 0 :(得分:5)
您可以这样做:
这将使您在必要时立即知道已更改的公钥。