Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change auth to ULB's CAS/SAML #35

Open
LucasPlacentino opened this issue Dec 5, 2023 · 6 comments · May be fixed by #39
Open

Change auth to ULB's CAS/SAML #35

LucasPlacentino opened this issue Dec 5, 2023 · 6 comments · May be fixed by #39
Labels
enhancement New feature or request High Priority question Further information is requested

Comments

@LucasPlacentino
Copy link
Collaborator

similarly to DocHub
(see https://github.com/DocHub-ULB/DocHub/blob/main/users/authBackend.py for example implementation)

I asked the ULB IT staff about it and we can get access for it, and it could include some information about the student (like name and surname, faculty, and student-status)

@LucasPlacentino LucasPlacentino added enhancement New feature or request question Further information is requested labels Dec 5, 2023
@OscarVsp
Copy link
Collaborator

OscarVsp commented Dec 5, 2023

Would be nice ! I will have a look at the DocHub implementation.

This would mean that we could include restrictions based on the faculty also ?

@OscarVsp
Copy link
Collaborator

OscarVsp commented Dec 5, 2023

I think we should make a proper database first (like not a Google spreadsheet) before accessing (and potentially storing) more students data. I may have someone willing to help us with that.

@LucasPlacentino
Copy link
Collaborator Author

This would mean that we could include restrictions based on the faculty also ?

I'm not sure, maybe

I think we should make a proper database first (like not a Google spreadsheet) before accessing (and potentially storing) more students data. I may have someone willing to help us with that.

Yes! I also wonder if the IT staff can host a db for us at their on-prem. It would resolve some of the problems we keep having when self-hosting

@LucasPlacentino
Copy link
Collaborator Author

see their PR that implements it: DocHub-ULB/DocHub#192

⚠️ DocHub licensed under an AGPL-v3, we need to take this into consideration if we use their implementation

@LucasPlacentino
Copy link
Collaborator Author

here's a quick idea of a (flask?) website to link the accounts: https://codepen.io/lucasplacentino/full/QWYYVwB

The registration flow would be:
Connect to website using ULB CAS -> Button to connect to Discord account via OAuth -> Backend links the username and ulb email address in db (maybe other info too?) -> Bot adds roles in the servers they're in

Users should be able to unlink their Discord by themselves (so it should remove their roles in all servers and remove their discord_username entry in the db) .
It would also be nice (GDPR-wise) to allow users to completely remove themselves from the db (and remove roles etc, or ask first to unlink their account).

@LucasPlacentino LucasPlacentino linked a pull request Dec 11, 2023 that will close this issue
@LucasPlacentino
Copy link
Collaborator Author

See:
https://github.com/LucasPlacentino/cas-sso-discord-bot
and
https://github.com/bepolytech/quidam-ulb-bot

Do we want to release it in this repo as a v2 or in a new repo as a new project?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request High Priority question Further information is requested
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants