From e0f2d6c71f4cf6775e44f283b4128c2500be6d13 Mon Sep 17 00:00:00 2001 From: curo1305 Date: Sat, 6 Jun 2026 18:00:15 +0200 Subject: [PATCH] docs(readme): add JWT_PRIVATE_KEY + JWT_PUBLIC_KEY to Quick Start step 3 Co-Authored-By: Claude Sonnet 4.6 --- README.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 9da0283..34fafc3 100644 --- a/README.md +++ b/README.md @@ -99,8 +99,18 @@ cp .env.example .env python3 -c "import secrets; print(secrets.token_hex(64))" # → SECRET_KEY python3 -c "import secrets; print(secrets.token_urlsafe(32))" # → CLOUD_CREDS_KEY +# Generate ES256 JWT keypair (required — see JWT Key Generation section below) +python3 -c " +from cryptography.hazmat.primitives.asymmetric import ec +from cryptography.hazmat.primitives import serialization +import base64 +k = ec.generate_private_key(ec.SECP256R1()) +print('JWT_PRIVATE_KEY=' + base64.b64encode(k.private_bytes(serialization.Encoding.PEM, serialization.PrivateFormat.PKCS8, serialization.NoEncryption())).decode()) +print('JWT_PUBLIC_KEY=' + base64.b64encode(k.public_key().public_bytes(serialization.Encoding.PEM, serialization.PublicFormat.SubjectPublicKeyInfo)).decode()) +" # → paste both lines into .env + # 4. Edit .env — at minimum set: -# SECRET_KEY, CLOUD_CREDS_KEY, ADMIN_EMAIL, ADMIN_PASSWORD +# SECRET_KEY, CLOUD_CREDS_KEY, JWT_PRIVATE_KEY, JWT_PUBLIC_KEY, ADMIN_EMAIL, ADMIN_PASSWORD # (everything else has usable defaults for local dev) nano .env