Skip to content
This repository has been archived by the owner on Sep 12, 2023. It is now read-only.

Handling Authentication With Best Servers And Other TMC Services #1

Open
gamemann opened this issue May 26, 2023 · 1 comment
Open
Assignees
Labels
help wanted Extra attention is needed

Comments

@gamemann
Copy link
Member

gamemann commented May 26, 2023

We want authentication to be synced between all TMC services including Best Servers. This means we'll have a single back-bone for authentication. We also want multiple login handlers including Discord, Google, Steam, and more. Users should be able to link additional accounts and set their email. We want to avoid storing passwords for now.

Other TMC services such as Best Mods uses a different web/authentication back-end (NextJS with NextAuth). Therefore, this will require additional code and handling so we can integrate into any web framework we choose.

This issue was created for initiate discussion and planning regarding this feature.

@gamemann gamemann added the help wanted Extra attention is needed label May 26, 2023
@gamemann gamemann added this to the Initial Release milestone May 26, 2023
@gamemann gamemann self-assigned this May 28, 2023
@gamemann
Copy link
Member Author

gamemann commented Jun 3, 2023

If using and hosting a centralized authentication system such as Apereo CAS, we could leverage PHPCas or Laravel CAS in Best Server's case. However, this is going to be more complicated. Laravel CAS hasn't been updated in four years, so I'm not sure if that'd even work with Laravel 10 and it's possible the code is exploitable. I'd honesty prefer making my own PHP/Laravel package that communicates with our CAS server.

Otherwise, we could use Laravel's Socialite package which comes with Laravel itself.

Using a CAS would be the best approach, but it will take longer to implement.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant