“专有格式”是什么意思?我正在阅读有关JWT刷新令牌的内容,它们是不透明的令牌,但我不理解这个术语。
JWT指的是可读内容的令牌,例如您可以在https://jwt.io/上看到。 任何人都可以解码令牌并阅读其中的信息。其格式已记录在RFC 7519中。
另一方面,不透明令牌具有不适合您阅读的格式,只有发行者知道该格式。
单词的含义已经给出了提示:
opaque /ə(ʊ)ˈpeɪk/ 形容词
无法透视的;不透明的。
以下是来自https://auth0.com/docs/tokens的引用:
不透明令牌:以专有格式的令牌,通常包含指向服务器持久存储中信息的标识符。要验证不透明令牌,令牌的接收方需要调用发行该令牌的服务器。
根据上述定义,“不透明JWT刷新令牌”是一个矛盾之处。实际上,某些JWT框架中仅认证令牌是JWT,而作为刷新令牌,它们使用不透明令牌。
"Opaque"在这里指代的是字符串(作为令牌),类似于OOP中的引用,或C语言中的指针,或关系型数据库中的外键。也就是说,需要外部内容才能解析它。
简单与复合:
该字符串是一个“简单”字符串,不像JWS那样“复合”;它内部没有部分。
内部与外部:
您可以从字符串“外部”提取负载(带有声明等),而无需引用外部服务器或存储。
由于不透明令牌是一个简单的字符串,它只是一个引用,因此,自然地,其格式完全由发行它的服务器任意确定(因此称为“专有格式”)。令牌字符串是在创建基础(所指)内容时确定的,即当它与此令牌(作为引用或外键)引用的内容配对(关联)时。
access_token
和/或id_token
,对吗?通常,知道一个refresh_token
可以消除这两个tokens
的安全性。相关链接:https://auth0.com/docs/tokens/refresh-tokens/use-refresh-tokens - Artfaithaccess_token
和id_token
可以是任何东西,但现在,两者通常都是JWT
。 - Artfaith