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

[Backend Rewrite] Pluggable authentication #216

Open
1 task
RobbinBaauw opened this issue Dec 21, 2019 · 6 comments
Open
1 task

[Backend Rewrite] Pluggable authentication #216

RobbinBaauw opened this issue Dec 21, 2019 · 6 comments
Assignees

Comments

@RobbinBaauw
Copy link
Member

  • Allow for pluggable authentication, i.e. allow the user to choose the authentication method they want when signing up (e.g. our own username/password, an OAuth server etc). I think for now we want to support username/password, OAuth & OpenID Connect (for https://connect.ch.tudelft.nl/)
@timanema
Copy link
Member

It might also be a good idea to allow people to change later on, instead of only letting them choose when signing up

@NULLx76
Copy link
Member

NULLx76 commented Jan 4, 2020

The nicest way (IMO) would result in people being able to add multiple sign-in methods to a single account (mirroring the sign in with X some other websites provide) which could also prove useful when NetID or CHConnect is inevitably down for a bit.

@J00LZ
Copy link
Member

J00LZ commented Jan 4, 2020

So you primarily sign up with a CSHub account, and then can add other accounts like with Gitlab?

@NULLx76
Copy link
Member

NULLx76 commented Jan 4, 2020

I don't necessarily think a primary (user facing) sign-up is needed, just that whatever you use will result in a "CSHub account" on the backend. And then after creating an account you can add/remove sign-up methods how you like provided at least one remains?

@RobbinBaauw
Copy link
Member Author

RobbinBaauw commented Jan 4, 2020

Yes that sounds good. Maybe we should have a user table in the central database with some basic user data that all auth methods should provide, and then each auth method can be external or a microservice. They keep track of things like passwords and such, and are linked to a cshub user. Do you mean something like that?

@NULLx76
Copy link
Member

NULLx76 commented Jan 4, 2020

Yeah indeed something along those lines

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants