不透明トークンとは何ですか?


9

そして、それらが「独自フォーマット」であることはどういう意味ですか?JWTリフレッシュトークンについて読んでいますが、それらは不透明なトークンですが、用語がわかりません。

回答:


14

A JWTは、あなたが例えば見ることができるよう、読み込み可能なコンテンツを持っているhttps://jwt.io/。誰もがトークンをデコードして、その中の情報を読み取ることができます。形式はRFC 7519に文書化されています

不透明なトークン一方では、あなたが読むことを意図したものではない形式を持っています。発行者だけがフォーマットを知っています。

単語の意味はすでにヒントを与えています:

不透明/ə(ʊ)ˈpeɪk /形容詞

透けて見えません。透明ではありません。

https://auth0.com/docs/tokensからの引用は次のとおりです。

不透明なトークン:通常、サーバーの永続ストレージ内の情報への識別子を含む独自の形式のトークン。不透明なトークンを検証するには、トークンの受信者が、トークンを発行したサーバーを呼び出す必要があります。

「不透明なJWTリフレッシュトークン」は、上記の定義と矛盾します。ここで実際に意味するのは、一部のJWTフレームワークでは認証トークンのみがJWTですが、リフレッシュトークンとしては不透明トークンを使用するということです。


ありがとうございました。私が混乱したのは、署名部分が暗号化されているため、それ自体は実際には読み込めないためです。私もここで優れた説明を見つけました:community.apigee.com/questions/21139/jwt-vs-oauth.html
sloneorzeszki

1
で@sloneorzeszki 説明リンクされたopaque token唯一のサーバ側記憶された情報へのポインタとして機能するランダムな文字列として記述されています。トークンのこの種の説明こことしてreference tokenのに対し、opaque token実際に(元発行人のためにのみ読み込み可能な)暗号化された情報が含まれる場合があります。したがって、注意が必要な定義が少し異なります。
jps

0

ここで、「不透明」という用語は、文字列(トークンとして機能)が参照(OOPの場合)、ポインター(Cの場合)、または外部キー(リレーショナルDBの場合)のようなものであることを意味します。つまり、それを解決するには外部コンテンツが必要です。

シンプルとコンポジット:

文字列は「単純」な文字列であり、JWSは「複合」です。「内部」にパーツがあります。

内側と外側:

この文字列の「外部」にある外部サーバーやストレージを参照せずに、ペイロード(クレームなどを含む)をそこから抽出できます。

不透明なトークンは単純な文字列であるため、単なる参照であり、当然、その形式はそれを発行するサーバーによって完全に任意に決定されます(したがって、「独自形式」という用語です)。トークン文字列は、基になる(参照される)コンテンツの作成時に、つまり、このトークンが(参照または外部キーとして)参照するコンテンツとペアになる(関連付けられる)ときに決定されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.