Authentication service for the Ely.by and Minecraft
Go to file
ErickSkrauch 6f30b9d352 Readme
2020-05-19 01:24:45 +03:00
api Update smtp mail transport configuration 2019-12-29 17:59:58 +03:00
common Update smtp mail transport configuration 2019-12-29 17:59:58 +03:00
console Rework email_activation model, get rid of behaviors, use json column to store additional data 2019-12-21 01:23:58 +03:00
data Replace emarref/jwt with lcobucci/jwt 2019-08-01 12:17:12 +03:00
docker Fix https detection on nginx from haproxy 2019-12-03 17:22:18 +03:00
patches Upgrade codeception to 4 version 2019-12-20 22:50:47 +03:00
.dockerignore Tune nginx conf 2019-11-27 03:41:27 +03:00
.env.dist Readme 2020-05-19 01:24:45 +03:00
.gitattributes Completely untie the backend from the frontend. 2019-04-06 15:52:23 +02:00
.gitignore Translate all code comments from Russian to English [skip ci] 2019-07-15 01:59:56 +03:00
.gitlab-ci.yml Upgrade PHP to 7.4. Update corresponding dependencies. 2019-12-29 18:23:20 +03:00
.php_cs.dist Upgrade PHP to 7.3 and fix some related code errors. Disable self_accessor fixer for PHP-CS-Fixer 2019-04-06 04:15:23 +02:00
autocompletion.php Replace separate minecraft access tokens with JWT 2019-12-04 21:10:15 +03:00
codeception.dist.yml Rework tests structure. Upgrade codeception to 2.5.3. Merge params configuration into app configuration. 2019-02-20 22:58:52 +03:00
composer.json Upgrade PHP to 7.4. Update corresponding dependencies. 2019-12-29 18:23:20 +03:00
composer.lock Upgrade PHP to 7.4. Update corresponding dependencies. 2019-12-29 18:23:20 +03:00
docker-compose.dist.yml Readme 2020-05-19 01:24:45 +03:00
Dockerfile Upgrade PHP to 7.4. Update corresponding dependencies. 2019-12-29 18:23:20 +03:00
README.md Readme 2020-05-19 01:24:45 +03:00
yii Update ely/php-code-style and run updated CS fixer 2019-02-26 02:26:02 +03:00

Accounts Ely.by

Сервис управления Аккаунтами Ely.by, предоставляющий единую точку входа для наших и внешних сервисов по протоколу OAuth2, а также реализующий сервер авторизации для серверов Minecraft и частично реализующий совместимое с API Mojang для получения информации об аккаунтах.

Предупреждение: этот проект не предназначен для использования вне экосистемы сервисов Ely.by.

Разработка

Проект ориентирован на работу в Docker окружении, так что для полноценной работы проекта запускать его следует именно в окружении Docker-контейнера. Ссылки на установки:

Далее необходимо создать форк репозитория, а после клонировать его:

git clone git@github.com:<your_username>/accounts.git
cd accounts

Затем необходимо создать локальные файлы .env и docker-compose.yml:

cp .env.dist .env
cp docker-compose.dist.yml docker-compose.yml

Скопированные файлы можно изменить под условия локальной среды разработки, но в общем случае они пригодны для использования без вашего вмешательства.

Контейнеры не умеют автоматически устанавливать зависимости, так что их нужно установить самостоятельно. Если у вас в системе установлен php и composer, то можно установить зависимости через команду composer install. Вы также всегда можете установить зависимости с помощью контейнера:

docker-compose run --rm --no-deps app composer install

При первом запуске произойдёт процесс загрузки и построения необходимых образов, после чего все контейнеры начнут свою работу, и вы сможете приступить к разработке.

Для запуска всех контейнеров, используйте следующую команду:

docker-compose up -d

По умолчанию, в docker-compose.yml указан 80 порт для самого сервиса, а также 8080 порт для подключения к phpMyAdmin. Если сервисы web и phpmyadmin выбросят ошибку, связанную с занятостью портов, то необходимо или освободить необходимые порты (80 и 8080), или же изменить их, после чего заново выполнить команду docker-compose up -d.

Пользовательский интерфейс

Этот репозиторий содержит в себе только код для API бекенда, в то время как интерфейс находится в соседнем репозитории. Пользователи Linux и Mac могут использовать следующий скрипт, чтобы получить последнюю версию пользовательского интерфейса:

curl -s https://api.github.com/repos/elyby/accounts-frontend/releases/latest \
 | grep "browser_download_url.*tar.gz" \
 | cut -d : -f 2,3 \
 | tr -d \" \
 | xargs curl -sLo /tmp/accounts-frontend.tar.gz \
&& rm -rf frontend \
&& mkdir -p frontend \
&& tar -zxf /tmp/accounts-frontend.tar.gz -C frontend \
&& rm -f /tmp/accounts-frontend.tar.gz

Если этот скрипт не сработал для вас, то вы можете самостоятельно перейти на страницу релизов, скачать подходящий build-архив и разархивировать всё его содержимое в папку frontend.

Как войти в работающий контейнер

Начиная с версии docker-compose 1.9.0, была добавлена команда docker-compose exec, которая позволяет выполнить на работающем контейнере произвольную команду, основываясь на имени сервиса в compose-файле. Так, например, чтобы войти в shell контейнера app, используйте следующую команду:

docker-compose exec app bash