Как устроена платформа

REST API: методы сервиса авторизации

https://img.shields.io/badge/auth-required-orange.svg

GET ​/status

Метод предназначен для получения статуса сервиса авторизации.

Пример ответа:

GET ​/status:
{
  "status": "string",
  "version": "string",
  "commit": "string"
}

POST ​/v1​/user

Метод предназначен для регистрации нового пользователя через сервис авторизации.

Для запроса передаются следующие параметры:

  • login – логин пользователя (адрес электронной почты);

  • password – пароль для доступа к аккаунту;

  • locale – выбор языка, на котором пользователю будет предоставляться информация на почту (возможные варианты: en и ru);

  • source – тип пользователя:

Если регистрация прошла успешно, в качестве ответа метод возвращает код 201. В случае иного ответа, пользователь не был зарегистрирован.

GET ​/v1​/user​/profile

Метод предназначен для получения данных пользователя.

Пример ответа:

GET ​/v1​/user​/profile:
{
  "id": "string",
  "name": "string",
  "locale": "en",
  "addresses": [
    "string"
  ],
  "roles": [
    "string"
  ]
}

POST ​/v1​/user​/address

Метод предназначен для получения идентификатора адреса пользователя. В запросе метода передаются следующие данные:

  • address – адрес пользователя в блокчейне;

  • name – имя пользователя.

Пример ответа:

POST ​/v1​/user​/address:
{
  "addressId": "string"
}

GET /v1​/user​/address​/exists

Метод предназначен для проверки адреса электронной почты пользователя. В качестве параметра на вход метод принимает электронный адрес пользователя.

Пример ответа:

GET /v1​/user​/address​/exists:
{
  "exist": true
}

POST ​/v1​/user​/password​/restore

Метод предназначен для восстановления пароля доступа к аккаунту пользователя.

В запросе метода указываются следующие данные:

  • email – электронный адрес пользователя;

  • source – тип пользователя:

    Пример ответа:

    POST ​/v1​/user​/password​/restore:
    {
       "email": "string"
    }
    

POST ​/v1​/user​/password​/reset

Метод предназначен для сброса пароля пользователя.

В запросе указываются следующие данные:

  • token – токен авторизации пользователя;

  • password – текущий пароль пользователя.

Пример ответа:

POST ​/v1​/user​/password​/reset:
{
  "userId": "string"
}

GET ​/v1​/user​/confirm​/{code}

Метод предназначен для передачи кода подтверждения для восстановления пароля для доступа к аккаунту пользователя. В запросе передаётся значение кода подтверждения.

POST ​/v1​/user​/resendEmail

Метод предназначен для повторной отправки кода восстановления пароля на указанный электронный адрес.

В запросе метода передаются следующие данные:

В ответе метод возвращает электронный адрес пользователя, на который был отправлен код восстановления.

Пример ответа:

POST ​/v1​/user​/resendEmail:
{
   "email": "string"
}

POST ​/v1​/auth​/login

Метод предназначен для получения нового токена авторизации для пользователя.

Для запроса передаются следующие параметры:

  • username – имя пользователя;

  • password – пароль для доступа к аккаунту;

  • locale – выбор языка, на котором пользователю будет предоставляться информация на почту (возможные варианты: en и ru);

  • source – тип пользователя:

Пример ответа:

POST ​/v1​/auth​/login:
{
  "access_token": "string",
  "refresh_token": "string",
  "token_type": "string"
}

POST ​/v1​/auth​/token

Метод предназначен для получения токенов авторизации для внешних сервисов и приложений. Не требует параметров запроса.

Пример ответа:

POST ​/v1​/auth​/token:
{
  "access_token": "string",
  "refresh_token": "string",
  "token_type": "string"
}

POST ​/v1​/auth​/refresh

Метод предназначен для получения нового refresh-токена. В запросе метода передается значение текущего refresh-токена.

Пример ответа:

POST ​/v1​/auth​/refresh:
{
  "access_token": "string",
  "refresh_token": "string",
  "token_type": "string"
}

GET​ /v1​/auth​/publicKey

Метод предназначен для получения публичного ключа сервиса авторизации. Не требует параметров запроса.

Пример ответа:

POST ​/v1​/auth​/refresh:
-----BEGIN PUBLIC KEY-----
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA7d9Oj/ZQTkkjf4UuMfUu
QIFDTYxYf6QBKMVJnq/wXyPYYkV8HVFYFizCaEciv3CXmBH77sXnuTlrEtvK7zHB
KvV870HmZuazjIgZVSkOnOY7F8UUVNXnlzVD1dPsOGJ6orM41DnC1W65mCrP3bjn
fV4RbmykN/lk7McA6EsMcLEGbKkFhmeq2Nk4hn2CQvoTkupJUnOCP1dhO4bq1lQ7
Ffj9K/FJq73wSXDoH+qqdRG9sfrtgrhtJHerruhv3456e0zyAcDO8+sJUQFKY80B
SZMEndVzFS2ub9Q8e7BfcNxTmQPM4PhHO5wuTqL32qt3uJBx2OI4lu3OND44ZrDJ
BbVog73oPjRYXj+kTbwUZI66SP4aLcQ8sypQyLwqKk5DtLRozSN0OIrupJJ/pwZs
9zPEggL91T0rirbEhGlf5U8/6XN8GVXX4iMk2fD8FHLFJuXCD7Oj4JC2iWfFDC6a
uUkwUfqfjJB8BzIHkncoqOZbpidEE2lTWl+svuEu/wyP5rNlyMiE/e/fZQqM2+o0
cH5Qow6HH35BrloCSZciutUcd1U7YPqESJ5tryy1xn9bsMb+On1ocZTtvec/ow4M
RmnJwm0j1nd+cc19OKLG5/boeA+2zqWu0jCbWR9c0oCmgbhuqZCHaHTBEAKDWcsC
VRz5qD6FPpePpTQDb6ss3bkCAwEAAQ==
-----END PUBLIC KEY-----
Смотрите также