Authentik To Discord Proxy
- TypeScript 85.5%
- Python 14.5%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
|
||
| .github/workflows | ||
| .vscode | ||
| assets/installguide | ||
| src | ||
| test | ||
| .editorconfig | ||
| .gitattributes | ||
| .gitignore | ||
| .prettierrc | ||
| eslint.config.ts | ||
| LICENSE | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| README.md | ||
| tsconfig.json | ||
| vitest.config.mts | ||
| worker-configuration.d.ts | ||
| wrangler.jsonc | ||
Authentik2Discord
A better Discord webhook for Authentik.
Currently Supported Events
- User Create
- User Delete
- Configuration Error
- Property Mapping Exception
- Update Available
- Login
Installation
A public instance is hosted at auth2discord.abyssalfragments.org
Paste the contents of src/mapping.py into a Webhook Property Mapping and uncomment the last line
Alternatively, bind mount the mapping file into your container and import it (success may vary!)
volumes:
- ./authentik2discord/src/mapping.py:/ak-root/.venv/lib/python3.14/site-packages/authentik2discord/__init__.py
from authentik2discord import authentik2discord
return authentik2discord(request.context['notification'])
Create a webhook transport of type Webhook (Generic)
The URL will be <URLBase>/<webhookId>/<webhookSecret>. You can easily make this by replacing https://discord.com/api/webhooks/ in your webhook URL with your base url
Apply the earlier created property mapping to your transport and you should be good!
Self-Hosting the proxy
This requires a cloudflare account!
You may be able to run this under runtimes that support export default servers like bun but this is untested!
- Fork the repo
- Edit
routes.[0].patternofwrangler.jsoncto point to your domain - Install modules
pnpm install --frozen-lockfile - Deploy!
pnpm deploy

