Внешние поставщики#
Список внешних поставщиков#
GET /api/v3/users/{subjectId}/fa
Получение списка привязок учетных записей внешних поставщиков идентификации к учетной записи пользователя.
Необходимые разрешения: blitz_api_ufa
или blitz_api_sys_ufa
.
Тип и имя привязки (fpType
и fpName
), идентификатор привязки (sid
) и имя пользователя (userName
).
Пример
GET /blitz/api/v3/users/d2580c98‑e584‑4aad‑a591‑97a8cf45cd2a/fa HTTP/1.1
Authorization: Bearer m9tuVBNUnizkuwFnq95IXQm1XTplXLUFD1O5TUmGij4
Cache-Control: no-cache
[
{
"sid": "1000347601",
"fpType": "esia",
"fpName": "esia_1",
"userName": "user.name@esia.ru"
},
{
"sid": "1234",
"fpType": "tcs",
"fpName": "tcs_1"
"userName": "Олег"
}
]
Привязка поставщика по идентификатору#
POST /api/v3/users/{subjectId}/fa/{fpType}/{fpName}/{sid}
Привязка учетной записи внешнего поставщика идентификации к учетной записи пользователя, если вход через внешний поставщик идентификации произведен ранее иными средствами и известен идентификатор (sid
) учетной записи во внешнем поставщике идентификации.
Необходимые разрешения: blitz_api_ufa_chg
или blitz_api_sys_ufa_chg
.
guid
пользователя (subjectId
), тип внешнего поставщика (fpType
), имя внешнего поставщика (fpName
) и идентификатор учетной записи во внешнем поставщике (sid
).
JSON:
federatedAccountName
: имя внешней учетной записи, которую необходимо привязать (опционально). Если параметр не передается, то используется прежнее имя.
В случае успешного вызова 204 No Content
.
Пример
POST /blitz/api/v3/users/d2580c98‑e584‑4aad‑a591‑97a8cf45cd2a/fa/tcs/tcs_1/1234 HTTP/1.1
Authorization: Bearer m9tuVBNUnizkuwFnq95IXQm1XTplXLUFD1O5TUmGij4
{
"federatedAccountName": "Elle Woods"
}
Привязка поставщика#
Привязка к учетной записи внешнего поставщика при неизвестном идентификатору учетной записи во внешнем поставщике осуществляется в два этапа:
Запрос инструкции привязки.
Выполнение привязки пользователем в браузере.
POST /api/v2/users/current/fa/bind
Запрос инструкции привязки.
fp
– идентификатор поставщика, связь с профилем которого должна быть установлена;callback
– адрес, на который должен быть возвращен пользователь после успешной привязки аккаунта соцсети;isPopup
– требуется ли открытие страницы поставщика идентификации в popup-окне (опционально).
Параметр redirectTo
с ссылкой, на которую необходимо направить пользователя в браузере для выполнения второго этапа и создания привязки учетной записи пользователя к внешнему поставщику идентификации.
Пример
POST /blitz/api/v2/users/current/fa/bind HTTP/1.1
Authorization: Basic ZG5ldm5pay10ZXN0Lm1vcy5ydTphUU56S0JuY2VBQVQwelg
Content-Type: application/json
{
"fp": "vk:vk_1",
"callback": "https://app.company.com/callback"
}
200 OK
{
"redirectTo": "https://login.company.com/blitz/api/v2/users/current/fa/bind/auth/fc111c86-5193-42a2-862a-d819a4f45a86"
}
Удаление привязки поставщика#
DELETE /api/v2/users/{subjectId}/fa/{fpType}/{fpName}/{sid}
Удаление привязки внешнего поставщика к пользователю.
guid
пользователя (subjectId
), тип внешнего поставщика (fpType
), имя внешнего поставщика (fpName
) и идентификатор учетной записи во внешнем поставщике (sid
).
Пример
DELETE /blitz/api/v3/users/d2580c98‑e584‑4aad‑a591‑97a8cf45cd2a/fa/tcs/tcs_1/1234 HTTP/1.1
Authorization: Bearer m9tuVBNUnizkuwFnq95IXQm1XTplXLUFD1O5TUmGij4
Получение маркера доступа пользователя#
GET /api/v3/users/${subjectId}/fedToken/${fedPointType}/${fedPointName}
Получение актуального маркера доступа пользователя во внешнем поставщике идентификации с типом ${fedPointType}
и именем ${fedPointName}
. Маркер доступа считается актуальным, если время жизни больше минимально допустимого (по умолчанию 30 секунд). Если маркер доступа неактуален, но вместе с ним был сохранен маркер обновления, то происходит попытка обновления маркера доступа. В случае удачной попытки данный метод выдает новый маркер доступа.
Важно
Получение маркера возможно только для тех поставщиков, у которых включена настройка Запоминать маркеры
.
Необходимые разрешения: fed_tkn_any
или fed_tkn_${fedPointType}_${fedPointName}
.
Примечание
Для того чтобы приложение могло запросить маркер доступа, для него также должны быть указаны данные разрешения.
HTTP 404
: маркер доступа не найден.HTTP 200
и JSON с информацией по маркерам доступа пользователя в случае успеха. Для каждого маркера передается ключsid
, значение маркераtoken
и период действияexpiresOn
в формате Unix-time.HTTP 401
: нет необходимого разрешения или неверный поставщик.
Пример
GET /blitz/api/v3/users/d2580c98‑e584‑4aad‑a591‑97a8cf45cd2a/fedToken/tcs/tcs_1 HTTP/1.1
Authorization: Bearer m9tuVBNUnizkuwFnq95IXQm1XTplXLUFD1O5TUmGij4
Content-Type: application/json
{
"da0c69c5-aef8-41e4-a37f-89c6d30abdfa": {
"expiresOn": 1711125311,
"token": "t.eFgoMik6regKsLjxfds1V0PlNEv_smx-W_x"
},
"00000000-1111-41e4-a37f-89c6d30abdfa": {
"expiresOn": 1711125344,
"token": "t.ddddddddddLjxfds1V0PlNEv_smx-W_x"
}
}
{
"type":"security_error",
"error":"bad_access_token",
"desc":"No enough scopes or wrong subject Id"
}