Перейти к основному содержимому

Расширенные скоупы

VoxKey поддерживает расширенные скоупы, которые добавляют дополнительные claims в access token и ответ userinfo.

Доступные расширенные скоупы

ScopeClaimsОписаниеВключён по умолчанию
rolesrolesНазначенные пользователю realm-ролиНет
identitiesidentitiesПривязанные social- и SSO-identity пользователяНет
custom_datacustom_dataПользовательские данные, сохранённые в объекте пользователя (profile_data)Нет

Как запросить

Добавьте один или несколько расширенных скоупов в параметр scope при авторизационном запросе:

GET /oauth2/{realm}/code?
response_type=code&
client_id=YOUR_CLIENT_ID&
scope=openid profile email roles&
redirect_uri=...

Скоуп roles

Скоуп roles возвращает назначенные пользователю realm-роли как массив roles и в access token, и в ответе userinfo.

Запрос: scope=openid roles

Claim в access token:

{
"roles": ["admin", "editor"]
}

Ответ userinfo:

{
"sub": "9",
"roles": ["admin", "editor"]
}

Скоуп identities

Скоуп identities возвращает привязанные social/SSO identity пользователя.

{
"identities": [
{ "provider": "google", "identity_id": "123456" },
{ "provider": "github", "identity_id": "789" }
]
}

Скоуп custom_data

Скоуп custom_data возвращает объект profile_data пользователя как claim custom_data и в access token, и в ответе userinfo.

Discovery

Эти скоупы включаются в scopes_supported на эндпоинте /.well-known/openid-configuration, поэтому клиенты могут обнаруживать их динамически.