2017-11-22 6 views
1

https://X.auth0.com/.well-known/jwks.jsonサーバー側からJWKSを取得しています。私はそれが数分間キャッシュするのが安全かどうか疑問に思っています。なぜなら、取得することでそのエンドポイントを絶えず弾圧するのは無駄に思えるからです。私はフラスコを使用しているとのような単純な何かをすることによって、それをキャッシュに計画していたAuth0からJSON Web Key Sets(JWKS)のサーバー側(python3 /フラスコ)キャッシングを1分間ほど行うのは安全ですか?

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

実装の残りの部分が重くauth0 tutorialに触発されています。

をあなたはkey_prefix

答えて

2

A JWKSがAuth0の概念です変更することにより、任意の 機能で、このデコレータを使用することができます:

キャッシュメカニズムは述べているライブラリflask_caching、から来ています。これは、最も基本的なレベルで発行されたトークン

の署名を検証するために設定された公開鍵が含まれ、JWKSは、認証サーバによって発行されたすべてのJWTを検証するために使用されるべきである公開鍵を含むキーのセットです。

公開鍵を安全に公開することができます。新しい鍵ペアが生成されたときにのみ変更されます。私はどのようにキーを更新するプロセスが手動か自動かわかりません。しかし、あなたはそれを完全にキャッシュすることができます。理由が不正な公開鍵である場合は、検証が失敗した後に公開鍵をダウンロードしてください。

関連する問題