2016-10-06 8 views

答えて

1

OAuth 2.0では、トークンの形式や暗号化に関する制限はありません。通信はTLSで保護されているはずなので、暗号化は仕様では完全に無視されます。

また、は、実際ににする必要はありません。資金調達が許可されている場合は、オープンソースライブラリまたはベンダー製品を選択してください。

つまり、JWT RFCをご覧ください。それはほとんどの人が使う形式です。また、フォーマットを全く考慮せず、不透明な文字列で作業し、次に認可サーバーでトークンイントロスペクションを実装することもできます。

暗号化に関して - 何かが行きます。ほとんどの実装は、JWTトークンに署名するために、少なくともHS256、RS256、およびES256をサポートしています。実際の世界のシナリオでは、トークンを暗号化する必要はありませんが、署名で十分です。

+1

にアイデアのビットを与える必要があり、同様に他の属性が存在することができ、私の唯一のコメント、私はそれをあなた自身を大胆に実装しないでください:) –

0

いつか苦労して、私はそれを理解しました。二つのアプローチ

  1. がありますがどちらかは、対称鍵

    を使用すると、リフレッシュトークンに(離れて直接計算/導出することが可能なものから)アクセストークンを構築するために必要なすべてを入れて、グローバルまたはテナントレベルでそれを暗号化します特典:

    a。記憶装置は不要

    b。 DBとの接触が必要ないため、パフォーマンスが向上します。それだけで復号し、アクセストークンの作成

    問題/欠点

    です。リフレッシュトークンを追跡する方法はありません。

    b。発行されたリフレッシュトークンを無効にする方法はありません。

  2. リフレッシュトークンに関連する属性をDBに格納し、OAuthサーバーの応答で暗号化されたリフレッシュトークンIDを返します。 DBに格納される可能性のある属性は、

    ID ||満了||トークンの数||件名||クライアントID ||カスタム属性(必要な場合)

これは固体の助言である私たちが実施したが、これは自分自身のリフレッシュトークンの流れを実装したい人

関連する問題