【问题标题】:Can I store Apple's public key for verifying token signature?我可以存储 Apple 的公钥来验证令牌签名吗?
【发布时间】:2019-11-24 09:10:20
【问题描述】:

为了与 Apple 实现 OAuth,我们拨打电话GET https://appleid.apple.com/auth/keys

(根据https://docs.developer.pv.apple.com/documentation/signinwithapplerestapi/fetch_apple_s_public_key_for_verifying_token_signature中的文档)

结果如下:

{
    "kty": "RSA",
    "kid": "1234567890",
    "use": "...",
    "alg": "RS256",
    "n": "...",
    "e": "..."
}

我可以相信这些信息不会在没有通知的情况下更改吗?还是每次我们需要使用 Apple 的公钥时我都应该提出这个请求?

【问题讨论】:

  • 您应该缓存带有“kid”的密钥以供后续使用,并在您看到 JWT 使用不同的“kid”签名时再次获取新密钥。

标签: ios oauth public-key-encryption apple-sign-in sign-in-with-apple


【解决方案1】:

它可以改变,但不会那么频繁。 所以你可以缓存它,并用缓存的来验证它。 然后,当您看到无法使用缓存密钥验证的令牌进入时,请更新您的缓存密钥并再次尝试验证令牌。

【讨论】:

    猜你喜欢
    • 2020-08-18
    • 2013-05-28
    • 1970-01-01
    • 2018-01-06
    • 2021-11-30
    • 1970-01-01
    • 1970-01-01
    • 2021-09-04
    • 2013-08-17
    相关资源
    最近更新 更多