A Discord bot and FastAPI webapp for authenticating users using CAS SSO.
Links their Discord account (ID) to their CAS credentials. Users are able to link and unlink their account, and only one Discord ID can be linked to a CAS user.
FastAPI, Disnake, CAS, [some database TBD], Docker, Discord OAuth2, etc.
Possibly replacing our own previous auth bot ULBDiscordBot which was just based on email-sent tokens.
Uses:
OR use:
https://discord.com/developers/docs/tutorials/configuring-app-metadata-for-linked-roles
https://support.discord.com/hc/en-us/articles/10388356626711-Connections-Linked-Roles-Admins
https://apereo.github.io/2019/02/19/cas61-as-oauth-authz-server/
https://github.com/weibeu/Flask-Discord => fastapi instead (but missing stuff like revoke() etc)
or
- ULBDiscordBot: predecessor to this bot
- DocHub: student-made ULB courses documents and summaries repository accessible via ULB's CAS auth.