Mã thông báo mờ là gì?


9

Và điều đó có nghĩa là chúng ở "định dạng độc quyền"? Tôi đang đọc về mã thông báo JWT refresh và chúng là các mã thông báo mờ, nhưng tôi không hiểu thuật ngữ này.

Câu trả lời:


14

Một JWT có nội dung dễ đọc, như bạn có thể xem ví dụ về https://jwt.io/ . Mọi người có thể giải mã mã thông báo và đọc thông tin trong đó. Các định dạng được ghi lại trong RFC 7519 .

Một đục mã thông báo , mặt khác có một định dạng mà không có ý định để được đọc bởi bạn. Chỉ có nhà phát hành biết định dạng.

Ý nghĩa của từ đã đưa ra một gợi ý:

mờ / (ʊ) peɪk / tính từ

không thể được nhìn xuyên qua; không minh bạch.

Đây là một trích dẫn từ https://auth0.com/docs/tokens :

Mã thông báo mờ: Mã thông báo ở định dạng độc quyền thường chứa một số định danh thông tin trong bộ lưu trữ liên tục của máy chủ. Để xác thực mã thông báo mờ, người nhận mã thông báo cần gọi máy chủ đã phát hành mã thông báo.

Một "mã thông báo JWT mờ đục" là một mâu thuẫn theo định nghĩa ở trên. Điều thực sự có ý nghĩa ở đây là, trong một số khung JWT chỉ có mã thông báo xác thực là JWT, nhưng khi làm mới mã thông báo, họ sử dụng mã thông báo mờ.


Cảm ơn bạn. Tôi nghĩ điều khiến tôi bối rối là phần chữ ký, được mã hóa nên không thực sự có thể đọc được. Tôi cũng đã tìm thấy một lời giải thích tuyệt vời ở đây: Community.apigee.com/questions/21139/jwt-vs-oauth.html
sloneorzeszki

1
@sloneorzeszki Trong phần giải thích bạn đã liên kết opaque tokenđược mô tả dưới dạng một chuỗi ngẫu nhiên chỉ đóng vai trò là con trỏ tới thông tin được lưu trữ phía máy chủ. Loại mã thông báo này được mô tả ở đâyreference tokentrong khi opaque tokenthực tế có thể chứa thông tin được mã hóa (chỉ có thể đọc được cho nhà phát hành ban đầu). Vì vậy, có những định nghĩa hơi khác nhau mà chúng ta nên biết.
jps

0

Ở đây, thuật ngữ "mờ đục" có nghĩa là chuỗi (đóng vai trò là mã thông báo) giống như một tham chiếu (trong OOP) hoặc con trỏ (trong C) hoặc khóa ngoài (trong DB quan hệ). tức là bạn cần một nội dung bên ngoài để giải quyết nó.

Đơn giản so với hỗn hợp:

Chuỗi là một chuỗi "đơn giản", trái ngược với JWS, trong đó là "tổng hợp"; Nó có những phần "bên trong" nó.

Bên trong so với bên ngoài:

Bạn có thể trích xuất một tải trọng (có khiếu nại, v.v.) ra khỏi nó mà không cần tham khảo máy chủ hoặc bộ lưu trữ bên ngoài, "bên ngoài" chuỗi này.

Vì mã thông báo mờ là một chuỗi đơn giản, nó chỉ là một tham chiếu, do đó, một cách tự nhiên, định dạng của nó hoàn toàn được xác định tùy ý bởi máy chủ phát hành nó (do đó thuật ngữ "định dạng độc quyền"). Chuỗi mã thông báo được xác định tại thời điểm tạo nội dung cơ bản (được gọi là), tức là khi nó được ghép (liên kết) với nội dung mà mã thông báo này (như tham chiếu hoặc khóa ngoại) đề cập đến.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.