Расширенные скоупы
VoxKey поддерживает расширенные скоупы, которые добавляют дополнительные claims в access token и ответ userinfo.
Доступные расширенные скоупы
| Scope | Claims | Описание | Включён по умолчанию |
|---|---|---|---|
roles | roles | Назначенные пользователю realm-роли | Нет |
identities | identities | Привязанные social- и SSO-identity пользователя | Нет |
custom_data | custom_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, поэтому клиенты могут обнаруживать их динамически.