WEBIK ID
Удобная и безопасная авторизация от проекта «WEBIK»
Внедри WEBIK ID в свой проект, который позволит пользователям быстро авторизоваться/зарегистрироваться в любом твоем web-приложении через систему нашего проекта под контролем Восток-1.
Как работает авторизация?
- Вы перенаправляете пользователя по GET запросу с параметрами (redirect_uri + запрос данных) на наш сайт.
Пример: https://id.gki-webik.ru?redirect_uri=https://example.com/getDataToken&scope=default - Запрос обрабатывается через службу безопасности и управления сайтами Восток-1.
- После авторизации пользователя перенаправляет на сайт, указанный в параметре redirect_uri, где параметром передается access_token.
Пример: https://example.com/getDataToken?access_token=706007a4-9006-48f5-acbc-19f0311a09fa
ВАЖНО! Если домен redirect_uri не совпадет с доменом, указанным при создании API ключа - запрос на получение данных из access_token будет отклонен.
Токен действует в течении 5 минут и ограничен одноразовым использованием. - На вашем сайте выполняется API POST запрос, на получение данных через access_token с использованием вашего API ключа.
Пример запроса на PHP+CURL приведен ниже. - Сервер единоразово отдает запрашиваемые данные.
- Полученные данные, например ID пользователя, вы можете сохранить у себя в базе данных для дальнейшей авторизации.
API
Цены
GET
Name | Type | Description | Value |
---|---|---|---|
redirect_uri * | string | Адрес, на который перенаправить пользователя после авторизации | Адрес |
scope | string | Данные, которые необходимо получить. Например: ...&scope=id+username+email+photo |
|
Headers
Name | Type | Description | Value |
---|---|---|---|
Authorization * | string | API ключ, выданный в разделе "Ключи" | API ключ |
POST
Name | Type | Description | Value |
---|---|---|---|
service * | string | Сервис | cloudID |
access_token * | string | Токен, выданный по GET запросу | Токен |
Пример
PHPCURL
$url = 'https://api.gki-webik.ru/v1';
$apiKey = 'YOUR_API_KEY';
$data = [
'service' => 'cloudID',
'method' => 'getDataToken',
'data' => [
'access_token' => '706007a4-9006-48f5-acbc-19f0311a09fa'
]
];
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
'Authorization: ' . $apiKey,
'Content-Type: application/json'
],
CURLOPT_POSTFIELDS => json_encode($data)
]);
$response = curl_exec($ch);
echo $response;
curl_close($ch);
200 Успешный ответ403 Неуспешный ответ
{
"status": "success",
"message": {
"ru": "Успешно",
"en": "Success"
},
"data": {
"login": "gki_webik",
"phone": "+71234567890",
"email": "gki-webik.ru@ya.ru"
}
}