Сервис для управления учетными записями и единной точкой авторизации с помощью HTTP API.
Для получения доступа к сервису необходимо каждый раз формировать подпись. Подпись формируется из всего тела сообщения и секретного ключа, используя метод HMAC. Подпись нужно передавать в HTTP заголовке API-SIGNATURE.
В нашем случае тело сообщения - это данные, которые мы передаем c помощью POST-запроса.
####Пример тела сообщения
username=koala&password=strongpassword&[email protected]
####Примеры формирования ключа #####Ruby
OpenSSL::HMAC.hexdigest(OpenSSL::Digest.new('SHA1'), 'Секретный ключ', 'Тело сообщения')#####PHP
hash_hmac('SHA1', 'Тело сообщения', 'Секретный ключ');Чтобы приложение заработало, нужно установить 2 переменных на уровне окружения: секретный ключ, который используется для создания подписи, и ссылка на подключение к базе данных.
export SECRET_TOKEN=
export DATABASE_URL=mysql://user:password@localhost/accountsВсе вызовы осуществляются через домен https://accounts.ensemplix.ru/ и с помощью POST-запроса. Каждый запрос обязательно должен содержать подпись. Все ответы присылаются в JSON и с кодом состояния.
Регистрация пользователя на проекте. Все параметры обязательные. IP адрес игрока, который регистрируется.
| Параметр | Необходимость |
|---|---|
| username | Обязательно |
| password | Обязательно |
| Обязательно | |
| ip | Обязательно |
Для авторизации надо передать пару логина и пароля. Если пользователь желает заходить в автоматическом режиме, то надо передать булевое значение remember в true. В ответе будет содержаться сессия. Для дальнейшей авторизации нужно будет передавать ее вместо пароля.
| Параметр | Необходимость |
|---|---|
| username | Обязательно |
| password | Опционально |
| session | Опционально |
| remember | Опционально |
Используется для того, чтобы сбросить автоматический вход.
| Параметр | Необходимость |
|---|---|
| username | Обязательно |
| session | Обязательно |
Поиск пользователей по части ника или полному нику.
| Параметр | Необходимость |
|---|---|
| username | Обязательно |
Отправляем поиск пользователя по нику debug
["debug","debug0","debug10","debug100","debug2","debug21","debug22"]Смена пароля пользователю на новый. Обязательным условием является передать старый пароль.
| Параметр | Необходимость |
|---|---|
| username | Обязательно |
| old_password | Обязательно |
| new_password | Обязательно |