Skip to content

Massprod/screen-auth

Repository files navigation

!
Все ссылания на переменные идут для .env
В котором находятся все основные переменные для корректировки.
Создайте или используйте базовый с редакцией логин/пароль.
!

Необходимые предустановки

  • Docker
  • WSL2 <- используется самим Docker (если используете без него, должно работать и так)
    Используется для создания ключа, поэтому если ключ будет создаваться по пункту 1 необходимо к использованию
    (либо используйте другой способ создания ключа)

Последовательность запуска:

Все приведённые команды с учётом запуска из рабочей директории приложения.

  1. Создание MongoDB keyFile в директории docker_mongo_db:
    wsl -u root
    apt-get install openssl
    openssl rand -base64 756 > ./docker_mongo_db/mongo-key.txt
    
    756 <- устанавливает количество байтов для генерации.
    Большее значение может обеспечить более высокую степень случайности, но для MongoDB важно, чтобы размер ключа был не менее 1024 символов после кодирования в base64.
  2. Создание сертификата и ключа для JWT:
    Создайте папку certificates в директории сервиса
    wsl -u root
    apt-get install openssl
    openssl genpkey -algorithm RSA -out ./certificates/private_key.pem -pkeyopt rsa_keygen_bits:2048
    openssl rsa -pubout -in ./certificates/private_key.pem -out ./certificates/public_key.pem
    
  3. Запуск Docker:
    1. Из рабочей директории приложения с docker-compose.yml
    docker-compose up --no-start --build -d
    
    1. Запустите контейнер MongoDB
    docker start mongo_auth_db
    
    1. Инициализируйте replica-set
    docker exec -it mongo_auth_db bash -c 'replica_init.sh'
    
    1. Создайте пользователя для сервиса
    docker exec -it mongo_auth_db bash -c 'create_api_user.sh'
    
    1. Запустите контейнер сервиса
    docker start auth_app
    
    mongo_auth_db & auth_app <- стандартное название контейнера, замените на используемый вами.
    Также можно запустить все команды и через exec в Desktop версии.
  4. Проверьте рабочий статус сервиса перейдя localhost:8080/docs
    (Измените домейн + порт в соответствии с вашими данными)

Описание переменных .env:

  • jwt_issuer <- создатель(издатель) токена, хранящийся в нём для верификации
  • jwt_expiration <- время действия созданного сертификата
  • jwt_algorithm <- алгоритм использумый для создания JWT
  • MONGO_CONTAINER_NAME <- название контейнера базы данных
  • MONGO_ADMIN_LOGIN <- логин для аутентификации первичного аккаунта администратора базы данных (имеет все права)
  • MONGO_ADMIN_PWD <- пароль для аутентификации первичного аккаунта администратора базы данных
  • MONGO_SERVER <- адрес подключения к MongoDB
  • MONGO_SERVER_OUTSIDE_PORT <- открываемый внешний порт для контейнера базы данных
  • MONGO_SERVER_INSIDE_PORT <- открываемый внутренний порт для контейнера базы данных
  • MONGO_REPLICA_NAME <- название создаваемого и используемого в дальнейшем replica-set (используется при подключении)
  • API_MONGO_LOGIN <- логин для аутентификации аккаунта используемого сервисом (имеет доступ только к выделенной базе данных)
  • API_MONGO_PWD <- пароль для аутентификации аккаунта используемого сервисом
  • API_MONGO_DB_NAME <- название базы данных, используемой сервисом
  • API_MONGO_AUTH_DATABASE <- база данных используемая для авторизации аккаунта сервиса
  • API_CONTAINER_NAME <- название контейнера сервиса
  • API_OUTSIDE_PORT <- открываемый внешний порт для контейнера сервиса
  • API_INSIDE_PORT <- открываемый внутренний порт для контейнера сервиса
  • API_F_ADMIN_LOGIN <- логин первого аккаунта администратора сервиса
  • API_F_ADMIN_PWD <- пароль первого аккаунта администратора сервиса
  • CElERY_F_WORKER <- логин первого работника для celery, используется сервисом
  • CELERY_F_WORKER_PWD <- пароль первого работника для celery, используется сервисом
  • STANDARD_RESET_PWD <- стандартный пароль, который будет использоваться при сбросе пароля пользователей

About

Basic authentication service with JWT.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors