mirror of
https://github.com/hexolan/panels.git
synced 2026-03-26 12:40:21 +00:00
67 lines
1.5 KiB
Markdown
67 lines
1.5 KiB
Markdown
# Auth Service
|
|
|
|
## Event Documentation
|
|
|
|
* Events Produced:
|
|
* N/A
|
|
|
|
* Events Consumed:
|
|
* **Topic:** "``user``" | **Schema:** "``UserEvent``" protobuf
|
|
* Type: ``"deleted"`` | Data: ``User``
|
|
|
|
## Configuration
|
|
|
|
### Environment Variables
|
|
|
|
**PostgreSQL:**
|
|
|
|
``POSTGRES_USER`` (Required)
|
|
|
|
* e.g. "postgres"
|
|
|
|
``POSTGRES_PASS`` (Required)
|
|
|
|
* e.g. "postgres"
|
|
|
|
``POSTGRES_HOST`` (Required)
|
|
|
|
* e.g. "localhost:5432"
|
|
|
|
``POSTGRES_DATABASE`` (Required)
|
|
|
|
* e.g. "postgres"
|
|
|
|
---
|
|
|
|
**Kafka:**
|
|
|
|
``KAFKA_BROKERS`` (Required)
|
|
|
|
* e.g. "localhost:9092" or "localhost:9092,localhost:9093"
|
|
|
|
---
|
|
|
|
**Other:**
|
|
|
|
``JWT_PRIVATE_KEY`` (Required)
|
|
|
|
* RSA Private Key (used to encode JWT tokens) represented in base64
|
|
|
|
* Generating:
|
|
* Using OpenSSL: ``openssl genrsa -out private.pem 2048``
|
|
* Getting Base64 Representation: ``python -c "import base64;private_key=open('private.pem', 'r').read();print(base64.standard_b64encode(private_key.encode('utf-8')).decode('utf-8'))"``
|
|
|
|
``JWT_PUBLIC_KEY`` (Required)
|
|
|
|
* RSA Public Key (used to verify JWT tokens) represented in base64
|
|
|
|
* Generating:
|
|
* Using OpenSSL: ``openssl rsa -in private.pem -pubout -out public.pem``
|
|
* Getting Base64 Representation: ``python -c "import base64;private_key=open('public.pem', 'r').read();print(base64.standard_b64encode(private_key.encode('utf-8')).decode('utf-8'))"``
|
|
|
|
``PASSWORD_PEPPER`` (Required)
|
|
|
|
* A secret salt applied globally along with generated password salts.
|
|
|
|
* Generate with ``python -c "import secrets;print(secrets.token_hex(nbytes=16))"`` or similar method.
|