Группы пользователей#
Внимание
Для вызова сервисов система должна получить маркер доступа на системное разрешение blitz_groups
и включать его во все вызываемые сервисы.
Группы в Blitz Identity Provider описываются следующими атрибутами:
id
– идентификатор группы в Blitz Identity Provider;name
– наименование группы пользователей.
Получение атрибутов группы по id#
GET https://login.company.com/blitz/api/v2/grps/{id}
Получение атрибутов группы, если известен id
группы.
profile
– имя профиля групп пользователей (например,orgs
);expand
– значениеtrue
, указывающее, что необходимо вернуть все атрибуты группы.
Пример
GET /blitz/api/v2/grps/14339e8e-a665-4556-92f1-5c348eff6696?profile=orgs HTTP/1.1
Authorization: Bearer cNwIXatB0wk5ZHO0xG5kxuuLubesWcb_yPPqLOFWDuwzMDc0Nz
Cache-Control: no-cache
{
"instanceId": "Mzg…nU",
"id": "14339e8e-a665-4556-92f1-5c348eff6696",
"OGRN": "1234567890329",
"INN": "7743151614",
"name": "ООО Тестовая компания",
"profile": "orgs"
}
Поиск группы по атрибуту#
GET https://login.company.com/blitz/api/v2/grps
Поиск группы по атрибуту и получение всех ее атрибутов, если неизвестен id
группы.
profile
– имя профиля групп пользователей;rql
– поисковый запрос по атрибутам группы в формате Resource Query Language (RQL).Операции:
and
– одновременное выполнение поисковых условий;or
– альтернативное выполнение поисковых условий (например, поиск по разным атрибутам);eq
– проверка условия равенства;limit
– ограничение числа возвращаемых записей.
expand
(необязательный параметр):true
: включать в полученный ответ атрибуты групп;false
: вернуть только идентификаторы найденных групп.
JSON, содержащий перечень групп, удовлетворяющих заданным поисковым условиям, с указанием их идентификатора (id
), а также значения остальных атрибутов групп (в случае expand=true
).
Пример
GET /blitz/api/v2/grps?profile=orgs&expand=true&rql=or(eq(OGRN,string:1230123456789),eq(INN,string:7743151614)) HTTP/1.1
Authorization: Bearer cNwIXatB0wk5ZHO0xG5kxuuLubesWcb_yPPqLOFWDuwzMDc0Nz
Cache-Control: no-cache
[
{
"instanceId": "Mzg5L…nU",
"id": "14339e8e-a665-4556-92f1-5c348eff6696",
"OGRN": "1234567890329",
"INN": "7743151614",
"name": "ООО Тестовая компания",
"profile": "orgs"
}
]
Создание группы#
POST https://login.company.com/blitz/api/v2/grps
Создание группы пользователей.
profile
– имя профиля групп пользователей;id
– уникальный идентификатор группы;остальные атрибуты группы и их значения.
Пример
POST /blitz/api/v2/grps HTTP/1.1
Authorization: Bearer cNwIXatB0wk5ZHO0xG5kxuuLubesWcb_yPPqLOFWDuwzMDc0Nz
Content-Type: application/json
{
"id":"95339e8e-a665-4556-92f1-5c348eff6696",
"OGRN":"9876543210321",
"INN":"5012345678",
"name":"ООО Тестовая компания 2",
"profile":"orgs"
}
{
"instanceId": "b3Jnc…dQ",
"name": "ООО Тестовая компания 2",
"OGRN": "9876543210321",
"id": "95339e8e-a665-4556-92f1-5c348eff6696",
"profile": "orgs",
"INN": "5012345678"
}
Изменение атрибутов группы#
POST https://login.company.com/blitz/api/v2/grps/{id}?profile=orgs
Изменение атрибутов группы.
Новый набор атрибутов:
profile
– имя профиля групп (должно быть передано и в составе URL, и в теле запроса);id
– идентификатор группы;остальные атрибуты группы и их значения.
Пример
POST /blitz/api/v2/grps/5f7b0580-cd2e-4146-8fc5-6eb5a95c7b42?profile=orgs HTTP/1.1
Authorization: Bearer cNwIXatB0wk5ZHO0xG5kxuuLubesWcb_yPPqLOFWDuwzMDc0Nz
Content-Type: application/json
{
"id": "5f7b0580-cd2e-4146-8fc5-6eb5a95c7b42",
"OGRN": "1147746651733",
"INN": "7715434658",
"name": "Новое название",
"profile": "orgs"
}
{
"instanceId": "Mzg5L…nU",
"id": "5f7b0580-cd2e-4146-8fc5-6eb5a95c7b42",
"OGRN": "1147746651733",
"INN": "7715434658",
"name": "Новое название",
"profile": "orgs"
}
{
"errors": [
{
"code": "group_not_found",
"desc": "Group with '95339e8e-…97' id not found in '389-ds' LDAP group store",
"params": {}
}
]
}
Удаление группы#
DELETE https://login.company.com/blitz/api/v2/grps/{id}?profile=orgs
Удаление группы.
Пример
DELETE /blitz/api/v2/grps/5f7b0580-cd2e-4146-8fc5-6eb5a95c7b42?profile=orgs HTTP/1.1
Authorization: Bearer cNwIXatB0wk5ZHO0xG5kxuuLubesWcb_yPPqLOFWDuwzMDc0Nz
Получение списка пользователей в группе#
GET https://login.company.com/blitz/api/v2/grps/{id}/members
Получение списка пользователей из группы.
profile
– имя профиля групп пользователей;expand
(необязательный параметр):true
: включать в полученный ответ ФИО пользователя;false
: вернуть только идентификаторы пользователей.
Пример
GET /blitz/api/v2/grps/14339e8e-a665-4556-92f1-5c348eff6696/members?profile=orgs&expand=false HTTP/1.1
Authorization: Bearer cNwIXatB0wk5ZHO0xG5kxuuLubesWcb_yPPqLOFWDuwzMDc0Nz
Cache-Control: no-cache
GET /blitz/api/v2/grps/14339e8e-a665-4556-92f1-5c348eff6696/members?profile=orgs&expand=true HTTP/1.1
Authorization: Bearer cNwIXatB0wk5ZHO0xG5kxuuLubesWcb_yPPqLOFWDuwzMDc0Nz
Cache-Control: no-cache
[
{
"instanceId": "Mzg5L…J1",
"subjectId": "d434b7d4-9816-460a-83aa-0a994226cbe7"
},
{
"instanceId": "Mzg5L…J1",
"subjectId": "2cafa5f4-bc84-4f6f-91aa-080da47975f0"
}
]
[
{
"instanceId": "Mzg5L…J1",
"family_name": "Иванов",
"middle_name": "Иванович",
"given_name": "Иван",
"subjectId": "d434b7d4-9816-460a-83aa-0a994226cbe7"
},
{
"instanceId": "Mzg5L…J1",
"family_name": "Сергеев",
"middle_name": "Сергеевич",
"given_name": "Сергей",
"subjectId": "2cafa5f4-bc84-4f6f-91aa-080da47975f0"
}
]
Добавление пользователей#
POST https://.../blitz/api/v2/grps/{id}/members/add?profile=orgs
Добавление пользователей в группу.
Список добавляемых в группу пользователей с указанием их идентификаторов (sub)
в атрибуте subjectId
.
POST /blitz/api/v2/grps/5f7b0580-cd2e-4146-8fc5-6eb5a95c7b42/members/add?profile=orgs HTTP/1.1
Authorization: Bearer cNwIXatB0wk5ZHO0xG5kxuuLubesWcb_yPPqLOFWDuwzMDc0Nz
Content-Type: application/json
[
{
"subjectId": "45ff69f2-6c40-418f-a21d-cbe6f07b88c9"
},
{
"subjectId": "cc8c4589-b2f8-40b8-b351-36d643808943"
}
]
[
{
"instanceId": "Mzg5L…J1",
"storeId": "tam",
"subjectId": "45ff69f2-6c40-418f-a21d-cbe6f07b88c9"
},
{
"instanceId": "Nzg5L…J1",
"storeId": "tam",
"subjectId": "cc8c4589-b2f8-40b8-b351-36d643808943"
}
]
{
"errors": [
{
"code": "user_not_found",
"desc": "User with subjectId 'd2580c98-e584-4aad-a591-97a8cf45cd2q' not found",
"params": {}
}
]
}
{
"errors": [
{
"code": "some_members_already_in_group",
"desc": "Some of adding members are already included in group",
"params": {}
}
]
}
Исключение пользователей#
POST https://.../blitz/api/v2/grps/{id}/members/rm?profile=orgs
Исключение пользователей из группы.
Список исключаемых из организации доверенных лиц с указанием их идентификаторов (sub
) в атрибуте subjectId
.
POST /blitz/api/v2/grps/5f7b0580-cd2e-4146-8fc5-6eb5a95c7b42/members/rm?profile=orgs HTTP/1.1
Authorization: Bearer cNwIXatB0wk5ZHO0xG5kxuuLubesWcb_yPPqLOFWDuwzMDc0Nz
Content-Type: application/json
[
{
"subjectId": "d2580c98-e584-4aad-a591-97a8cf45cd2a"
}
]
[
{
"instanceId": "Mzg5L…J1",
"storeId": "389-ds",
"subjectId": "d2580c98-e584-4aad-a591-97a8cf45cd2a"
}
]
{
"errors": [
{
"code": "some_members_not_in_group",
"desc": "Some of removing members are not included in group",
"params": {}
}
]
}
{
"errors": [
{
"code": "user_not_found",
"desc": "User with subjectId 'd2580c98-e584-4aad-a591-97a8cf45cd2b' not found",
"params": {}
}
]
}