Skip to content

Сервис для управления учетными записям

ensemplix/accounts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Accounts

Сервис для управления учетными записями и единной точкой авторизации с помощью 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 и с кодом состояния.

/register

Регистрация пользователя на проекте. Все параметры обязательные. IP адрес игрока, который регистрируется.

Параметр Необходимость
username Обязательно
password Обязательно
email Обязательно
ip Обязательно

/login

Для авторизации надо передать пару логина и пароля. Если пользователь желает заходить в автоматическом режиме, то надо передать булевое значение remember в true. В ответе будет содержаться сессия. Для дальнейшей авторизации нужно будет передавать ее вместо пароля.

Параметр Необходимость
username Обязательно
password Опционально
session Опционально
remember Опционально

/logout

Используется для того, чтобы сбросить автоматический вход.

Параметр Необходимость
username Обязательно
session Обязательно

/lookup

Поиск пользователей по части ника или полному нику.

Параметр Необходимость
username Обязательно
Пример ответа

Отправляем поиск пользователя по нику debug

["debug","debug0","debug10","debug100","debug2","debug21","debug22"]

/changepassword

Смена пароля пользователю на новый. Обязательным условием является передать старый пароль.

Параметр Необходимость
username Обязательно
old_password Обязательно
new_password Обязательно

About

Сервис для управления учетными записям

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages