代码之家  ›  专栏  ›  技术社区  ›  André C. Andersen

从Auth0对JSON Web密钥集(JWKS)进行服务器端(python3/flask)缓存一分钟左右安全吗?

  •  3
  • André C. Andersen  · 技术社区  · 7 年前

    我去拿 JWKS 从…起 https://X.auth0.com/.well-known/jwks.json 服务器端。我想知道将它们缓存几分钟是否安全,因为不断地用GET阻塞端点似乎是浪费。

    我正在使用flask,并计划通过做一些简单的事情来缓存它,例如:

    @cache.cached(timeout=60, key_prefix='auth0/%s')
    def get_jwks():
        return requests.get("https://" + AUTH0_DOMAIN + "/.well-known/jwks.json").json()
    

    其余的实现在很大程度上受到了 auth0 tutorial .

    缓存机制来自库 flask_caching ,表示:

    您可以将此装饰器用于任何 通过更改 key_prefix

    1 回复  |  直到 7 年前
        1
  •  3
  •   pedrofb    7 年前

    JWKS是一个Auth0概念。它包含用于验证已发行令牌签名的公钥集

    在最基本的级别上,JWKS是一组包含公钥的密钥,这些公钥应用于验证授权服务器发出的任何JWT。

    公钥可以安全发布。它只会在生成新密钥对时更改。我不知道更新钥匙的过程是怎样的:手动还是自动。但你可以完美地缓存它。如果原因是公钥不正确,请确保在验证失败后下载公钥