Make a Telegram channel joinable using OIDC authentication!
When navigating to the root of the application, the app will first make sure that the user is authenticated as per the OIDC configuration. Then, it will generate a unique Telegram channel invite link (that is usable once and expires in 1 hour), to which it will automatically redirect the user.
The application expects the following environment variables:
SESSION_SECRET
, some long random string for securing session tokenBASE_URL
, the base url where the app is runningOIDC_ISSUER_URL
OIDC_CLIENT_ID
TELEGRAM_BOT_TOKEN
TELEGRAM_CHAT_ID
See .env.example
for an example.
npm run build:docker
Install dependencies:
pnpm install
Start keycloak:
docker compose up
Start dev mode:
npm start