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
Add OAuth support #1964
Add OAuth support #1964
Conversation
This comment has been minimized.
This comment has been minimized.
You might want to check the |
The route has been hardcoded, that was only used as a placeholder. controller route
Going to leave it as it is since the admin UI will get recoded in React. |
Would it be possible to have a 'custom' oauth driver? i.e one that supports generic providers rather than the social media ones outlined above Letting it interface with stuff like Keycloak comes to mind, would be v. helpful |
Of course, custom drivers are planned. More specifically a socialite provider for Keycloak already exists. |
I think Google & Discord are plenty, perhaps Github/Gitlab as well. Linkedin/Facebook/BitBucket/Twitter are not going to be very frequent. I'm a fan of the oauth support, but not a huge fan of having every provider under the sun be shipped. Especially because of the inevitable flood of "why isn't this working" that will come with this feature. |
Imo there should be a "custom" option as well, then people can just add the providers they need, e.g. their own. |
I agree, I’m currently working on a SSO for a hosting service, who uses Pterodactyl as the their game panel, if this comes before I’m done with the SSO it would be very helpful since I don’t need to work as hard as I otherwise should. |
I get what you mean but except discord those ship with Laravel Socialite listed here.
Sure I'll provide a generic driver with endpoint options in the config. |
Any news on this @jer3m01? |
Has been a while, I'll get back on this. |
Please capitalize the name of the drivers, it triggering my OCD, but else does it look very sick! |
Thanks! |
Just do |
Yes it is possible but I would rather see the name as is rather than have the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi,
I don't understand why you try to get the user from a discord URL for the generic driver.
Is it an error ?
https://github.com/pterodactyl/panel/pull/1964/files#diff-f4e0aea31a5a10cfbbdd5963a0435fa3R65-R77
Yes that is a mistake, thanks for the catch. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not a official reviewer, but the code looks good to me :)
@jer3m01 would it be possible to add ENV variables that allow you to change the generic driver URIs without the need to modify the PHP file? |
How is it going with this feature? Could this be merged before the release of v1.0.0? |
It will not be merged before 1.0 is released, we're under a feature freeze until that time. |
This looks pretty good, nice work. Only thing I’m curious about is do people have to still create a normal pterodactyl account and then associate a social provider or are you just checking by matching email addresses? (Matching by email addresses is fine if and only if you know that the OAuth provider has verified the email. I know some differentiate between an email and verified email.) I’m curious to see how this is going to play out and major kudos to you for taking on such a daunting task! I can’t wait to get OAuth support added to my panel down the road! |
I would appreciate merging to |
To everyone constantly spamming comments on here and giving your "approved" reviews: please understand it is incredibly annoying and spams all of us with notifications. Your reviews do not make me go "yeah I'm just going to click merge" on this. Your spam has made me even less likely to be motivated enough to look at this because it is constantly low-value contributions and discussions. As a result we've locked this discussion. |
c86a6ba
Closing this since the fork got removed. See #3774 for an updated PR. @jer3m01 thanks for opening this PR and sorry that we didn't find the time to review and merge this. Sometimes it's difficult. I hope that the new one will get merged instead, which still contains your work, so it's hopefully not lost. |
OAuth Sign In Support
Allows users to connect using external services through OAuth.
Out of the box this will support Discord, Google, GitHub, Twitter,
GitLab, BitBucket, LinkedIn and Facebook.
This is a follow-up of #1488.
Still in progress.