Что такое непрозрачный токен?

9

И что это значит, что они находятся в «проприетарном формате»? Я читаю о токенах обновления JWT, и они являются непрозрачными токенами, но я не понимаю этот термин.

sloneorzeszki
источник

Ответы:

14

JWT имеет читаемое содержание, как вы можете видеть, например , на https://jwt.io/ . Каждый может расшифровать токен и прочитать информацию в нем. Формат задокументирован в RFC 7519 .

С другой стороны, непрозрачный токен имеет формат, который не предназначен для чтения вами. Только эмитент знает формат.

Значение слова уже дает подсказку:

непрозрачный / ə (ʊ) ˈpeɪk / прилагательное

не может быть видно сквозь; не прозрачный

Вот цитата из https://auth0.com/docs/tokens :

Непрозрачные токены: токены в проприетарном формате, которые обычно содержат некоторый идентификатор для информации в постоянном хранилище сервера. Чтобы проверить непрозрачный токен, получатель токена должен вызвать сервер, выдавший токен.

«Непрозрачный токен обновления JWT» является противоречием согласно определению выше. Здесь на самом деле подразумевается, что в некоторых средах JWT только токен аутентификации является JWT, но в качестве токена обновления они используют непрозрачные токены.

JPS
источник
Спасибо. Я думаю, что меня смутило то, что часть подписи зашифрована, поэтому не очень удобна для чтения. Я также нашел отличное объяснение здесь: community.apigee.com/questions/21139/jwt-vs-oauth.html
sloneorzeszki
1
@sloneorzeszki В объяснении, которое вы связали, opaque tokenописывается случайная строка, которая служит только указателем на хранимую на стороне сервера информацию. Этот тип токена описан здесь как « reference tokenа» opaque tokenможет действительно содержать зашифрованную информацию (доступную только для первоначального эмитента). Так что есть несколько разные определения, о которых мы должны знать.
JPS
0

Здесь термин «непрозрачный» означает, что строка (которая служит токеном) подобна ссылке (в ООП), или указателю (в С), или внешним ключам (в реляционных БД). т.е. вам нужен внешний контент для его разрешения.

Простой в сравнении с композитным:

Строка является «простой» строкой, в отличие от JWS, где «составная»; У него есть части "внутри".

Внутри и снаружи:

Вы можете извлечь полезную нагрузку (с заявками и т. Д.) Из нее, не обращаясь к внешнему серверу или хранилищу, «вне» этой строки.

Поскольку непрозрачный токен представляет собой простую строку, он является просто ссылкой, следовательно, естественно, его формат полностью произвольно определяется сервером, который его выпускает (отсюда и термин «собственный формат»). Строка токена определяется во время создания базового (упоминаемого) содержимого, то есть когда оно сопряжено (связано) с содержимым, на которое ссылается этот токен (как ссылочный или внешний ключ).

Сохаил Си
источник