Группы пользователей#
Группы в Blitz Identity Provider описываются идентификатором группы, а также атрибутами группы, которые определяются настройками.
Получение атрибутов группы по id#
GET https://login.company.com/blitz/api/v3/groups/{id}
Получение атрибутов группы, если известен id группы.
Необходимые разрешения: blitz_api_groups или blitz_api_sys_groups.
Пример
GET /blitz/api/v3/groups/test HTTP/1.1
Authorization: Bearer cN...Dc0Nz
Cache-Control: no-cache
200OK
{
"instanceId": "b3Jnc...2M",
"OGRN": "12345678901112",
"id": "test",
"profile": "orgs",
"members": [
"uid=test@m.ru,ou=company,ou=sub,dc=company,dc=loc",
"uid=test2@m.ru,ou=company,ou=sub,dc=company,dc=loc"
]
}
404 NotFound
Поиск группы во всех профилях#
GET https://login.company.com/blitz/api/v3/groups/search?
rql={OptionalString}&expand={OptionalBoolean}
Поиск группы по атрибутам во всех профилях.
Необходимые разрешения: blitz_api_groups или blitz_api_sys_groups.
rql– поисковый запрос по атрибутам группы в формате Resource Query Language (RQL).Операции:
and– одновременное выполнение поисковых условий;or– альтернативное выполнение поисковых условий (например, поиск по разным атрибутам);eq– проверка условия равенства;limit– ограничение числа возвращаемых записей.
expand(необязательный параметр):true: включать в полученный ответ атрибуты групп;false: вернуть только идентификаторы найденных групп.
JSON, содержащий группу с указанием ее идентификатора (id), а также значения остальных атрибутов группы (в случае expand=true).
Пример
GET /blitz/api/v3/groups/search/?rql=eq(id,test)&expand=true HTTP/1.1
Authorization: Bearer eyJra...fQ
Cache-Control: no-cache
GET /blitz/api/v3/groups/search/?rql=or(eq(OGRN,string:1230123456789),eq(INN,string:7743151614))&expand=true HTTP/1.1
Authorization: Bearer cNwIXa...0Nz
Cache-Control: no-cache
200ОК
[
{
"distinguishedName": "CN=test,DC=bip,DC=loc",
"id": "test",
"instanceId": "b3Jnc...Yw",
"profile": "orgs"
}
]
200OK
[
{
"instanceId": "Mzg5L…nU",
"id": "14339e8e-a665-4556-92f1-5c348eff6696",
"OGRN": "1234567890329",
"INN": "7743151614",
"name": "ООО Тестовая компания",
"profile": "orgs"
}
]
Поиск группы в рамках одного профиля#
GET https://login.company.com/blitz/api/v3/groups/{profile}/search?
rql={OptionalString}&expand={OptionalBoolean}
Поиск группы по атрибутам в рамках одного профиля.
Необходимые разрешения: blitz_api_groups или blitz_api_sys_groups.
profile– имя профиля групп пользователей.rql– поисковый запрос в рамках профиля по атрибутам группы в формате Resource Query Language (RQL).Операции:
and– одновременное выполнение поисковых условий;or– альтернативное выполнение поисковых условий (например, поиск по разным атрибутам);eq– проверка условия равенства;limit– ограничение числа возвращаемых записей.
expand(необязательный параметр):true: включать в полученный ответ атрибуты групп;false: вернуть только идентификаторы найденных групп.
JSON, содержащий группу с указанием ее идентификатора (id), а также значения остальных атрибутов группы (в случае expand=true).
Пример
GET /blitz/api/v3/groups/orgs/search?rql=eq(id,test)&expand=true HTTP/1.1
Authorization: Bearer eyJra...fQ
Cache-Control: no-cache
200ОК
[
{
"distinguishedName": "CN=test,DC=bip,DC=loc",
"id": "test",
"instanceId": "b3Jnc...Yw",
"profile": "orgs"
}
]
Создание группы#
PUT https://login.company.com/blitz/api/v3/groups/{profile}/{id}
Создание группы пользователей.
Необходимые разрешения: blitz_api_groups_chg или blitz_api_sys_groups_chg.
profile– имя профиля групп пользователей;id– уникальный идентификатор группы;
Примечание
Значение profile также можно передать в теле запроса.
Атрибуты группы и их значения, а также имя профиля profile, если оно не было указано в URL.
Пример
PUT /blitz/api/v3/groups/orgs/test2 HTTP/1.1
Authorization: Bearer cN...Dc0Nz
Content-Type: application/json
{
"OGRN":"12345678901112"
}
200OK
{
"OGRN": "12345678901112",
"id": "test2",
"instanceId": "b3Jnc...2M",
"profile": "orgs"
}
404 BadRequest
Изменение атрибутов группы#
POST https://login.company.com/blitz/api/v3/groups/{profile}/{id}
Изменение атрибутов группы.
Необходимые разрешения: blitz_api_groups_chg или blitz_api_sys_groups_chg.
profile– имя профиля групп;id– идентификатор группы.
Атрибуты группы и их значения.
Пример
POST /blitz/api/v3/groups/orgs/test2 HTTP/1.1
Authorization: Bearer cN...MDc0Nz
Content-Type: application/json
{
"OGRN": "98765432103213"
}
200OK
{
"instanceId": "b3Jnczpjbj10ZXN0MixvdT1Hcm91cHMsZGM9cmVheG9mdCxkYz1sb2M",
"OGRN": "98765432103213",
"id": "test2",
"profile": "orgs"
}
404 NotFound
{
"type": "process_error",
"error": "group_not_found",
"desc": "Group test2 not found"
}
Удаление группы#
DELETE https://login.company.com/blitz/api/v3/groups/{profile}/{id}
Удаление группы.
Необходимые разрешения: blitz_api_groups_chg или blitz_api_sys_groups_chg.
profile– имя профиля групп;id– идентификатор группы.
Пример
DELETE /blitz/api/v3/groups/orgs/test2 HTTP/1.1
Authorization: Bearer cNw...Dc0Nz
204 NoContent
404 NotFound
Получение списка пользователей группы#
GET https://login.company.com/blitz/api/v3/groups/{profile}/{id}/members?
rql={OptionalString}&expand={OptionalBoolean}
Получение списка пользователей из группы.
Необходимые разрешения: blitz_api_groups или blitz_api_sys_groups.
profile– имя профиля групп пользователей;id– уникальный идентификатор группы;rql– поисковый запрос по атрибутам пользователей в формате Resource Query Language (RQL).Операции:
and– одновременное выполнение поисковых условий;or– альтернативное выполнение поисковых условий (например, поиск по разным атрибутам);eq– проверка условия равенства;limit– ограничение числа возвращаемых записей.
expand(необязательный параметр):true: включать в полученный ответ ФИО пользователя;false: вернуть только идентификаторы пользователей.
Пример
Добавление пользователя в группу#
PUT https://login.company.com/blitz/api/v3/groups/{profile}/{id}/
members/{subjectId}
Добавление пользователя в группу.
Необходимые разрешения: blitz_api_groups_chg или blitz_api_sys_groups_chg.
profile– имя профиля групп пользователей;id– уникальный идентификатор группы;subjectId– уникальный идентификатор пользователя.
Пример
Удаление пользователя#
DELETE https://login.company.com/blitz/api/v3/groups/{profile}/{id}/
members/{subjectId}
Удаление пользователя из группы.
Необходимые разрешения: blitz_api_groups_chg или blitz_api_sys_groups_chg.
profile– имя профиля групп пользователей;id– уникальный идентификатор группы;subjectId– уникальный идентификатор пользователя.
Пример
Изменение списка пользователей группы#
POST https://login.company.com/blitz/api/v3/groups/{profile}/{id}/members
Изменение списка пользователей группы.
Необходимые разрешения: blitz_api_groups_chg или blitz_api_sys_groups_chg.
profile– имя профиля групп пользователей;id– уникальный идентификатор группы.
add– список идентификаторов добавляемых пользователей;remove– список идентификаторов удаляемых пользователей.
Пример
POST /blitz/api/v3/groups/orgs/test/members HTTP/1.1
Authorization: Bearer cN...Dc0Nz
Content-Type: application/json
{
"add": [
"test3@m.ru"
],
"remove": [
"test2@m.ru"
]
}
204 NoContent
Список групп пользователя во всех профилях#
GET https://login.company.com/blitz/api/v3/users/{subjectId}/
grps?expand={OptionalBoolean}
Получение списка групп пользователя во всех профилях.
Необходимые разрешения: blitz_api_groups или blitz_api_sys_groups.
subjectId– идентификатор пользователя, группы которого нужно получить.expand(необязательный параметр):true: включать в полученный ответ дополнительные параметры;false: вернуть только идентификаторы групп.
Пример
POST /blitz/api/v3/users/test@m.ru/grps?expand=true HTTP/1.1
Authorization: Bearer cN...Dc0Nz
200 OK
[
{
"instanceId": "b3Jnc...2M",
"OGRN": "12345678901112",
"id": "test",
"profile": "orgs",
"members": [
"uid=test@m.ru,ou=test,ou=sub,dc=company,dc=loc",
"uid=test2@m.ru,ou= test,ou=sub,dc=company,dc=loc"
]
},
{
"instanceId": "b3Jnc...Yw",
"desc": "test",
"NAME": "test",
"OGRN": "test",
"id": "test",
"profile": "orgs",
"INN": "test",
"members": [
"uid=test@m.ru,ou=test,ou=sub,dc=company,dc=loc"
]
}
]
404 NotFound
Список групп пользователя в рамках профиля#
GET https://login.company.com/blitz/api/v3/users/{subjectId}/grps/{profile}?
expand={OptionalBoolean}
Получение списка групп пользователя в рамках профиля.
Необходимые разрешения: blitz_api_groups или blitz_api_sys_groups.
profile– имя профиля групп пользователей;subjectId– идентификатор пользователя, группы которого нужно получить.expand(необязательный параметр):true: включать в полученный ответ дополнительные параметры;false: вернуть только идентификаторы групп.
Пример
POST /blitz/api/v3/users/test@m.ru/grps/orgs?expand=true HTTP/1.1
Authorization: Bearer cN...Dc0Nz
200 OK
[
{
"instanceId": "b3Jnc...2M",
"OGRN": "12345678901112",
"id": "test",
"profile": "orgs",
"members": [
"uid=test@m.ru,ou=test,ou=sub,dc=company,dc=loc",
"uid=test2@m.ru,ou=test,ou=sub,dc=company,dc=loc"
]
},
{
"instanceId": "b3Jnc...Yw",
"desc": "test",
"NAME": "test",
"OGRN": "test",
"id": "test",
"profile": "orgs",
"INN": "test",
"members": [
"uid=test@m.ru,ou=test,ou=sub,dc=company,dc=loc"
]
}
]
404 NotFound