Можно ли включать области OAuth в JWT? - PullRequest
0 голосов
/ 26 октября 2018

Я добавляю конечную точку сервера авторизации OAuth в мое существующее приложение.Я планирую выпустить JWT из конечной точки токена OAuth.

Когда токен, выпущенный для определенных областей OAuth, выглядит лучше встраивать области, для которых токен выпущен внутри самого токена, потому что его легчепроверить, имеет ли токен доступ для выполнения определенного действия, посмотрев на токен, когда клиент использует выданный токен позже для выполнения какого-либо действия.

Но поля стандартных утверждений JWT, по-видимому, не содержит подходящего поля для отметки областей OAuth.

Итак, было бы нормально включать области в качестве пользовательских утверждений в JWT?Есть ли другой способ встроить детали области в JWT?

1 Ответ

0 голосов
/ 29 октября 2018

спецификация JWT - RFC7519 предоставляет вам возможность вставлять и использовать нестандартные / зарегистрированные претензии.Это выделено 4.3.Частные имена претензий раздел спецификации.

Производитель и потребитель JWT МОЖЕТ согласиться использовать Имена претензий, которые являются Частными Именами: имена, которые не являются Зарегистрированными Именами Претензий (Раздел 4.1) или Публичными Именами Претензий (Раздел 4.2).В отличие от имен публичных претензий, имена приватных претензий подвержены коллизиям и должны использоваться с осторожностью.

Кроме того, если вам нужны стандартные зарегистрированные претензии, их можно найти здесь - https://www.iana.org/assignments/jwt/jwt.xhtml

В качестве альтернативы, если вам интересно использовать только стандартные утверждения и использовать их только с токеном доступа JWT (я предполагаю, что JWT, на который вы ссылаетесь, является токеном доступа), то вы можете определить конечную точку самоанализа токена и поместите значения области в его ответ.Область действия определяется как стандартный параметр отклика на отклик самоанализа

...