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

Implement OAuth authentication with GitHub, Google, and Facebook #13

Merged
merged 8 commits into from Feb 13, 2017

Conversation

petschekr
Copy link
Member

Replaces the previous password-based authentication with simpler OAuth authentication with multiple providers. Currently, these are GitHub, Google, and Facebook but the code is set up to easily allow for additional providers to be added in the future.

This pull request covers mostly server-side changes with only a very basic (and ugly) login page implemented.

If someone reviewing this pull requests want to try out OAuth logins for themselves, they must set up individual application on all three OAuth providers to get client ids and secrets. Alternatively, to save time, just post in the HackGT Slack and I'll send you my config.json with all of this information already filled out.

Closes #9

@petschekr petschekr added enhancement Adds or suggests a new feature, rewrite, or other enhancement to the codebase high priority pending review This PR is pending review by a maintainer labels Feb 12, 2017
@petschekr petschekr added this to the Initial Release milestone Feb 12, 2017
Copy link
Contributor

@bunsenmcdubbs bunsenmcdubbs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't get a chance to run this but it looks pretty good to me, pretty standard use of passport etc.

@illegalprime take a look at this, I think it's all set 👍

This supplants the previous password-based authentication in place. The routes on /api/user have been removed. New routes on /auth will perform a similar task without being part of the REST API. Other OAuth providers can now be simply dropped into place in a similar manner to GitHub.
Greatly reduces the amount of repetitive code present and makes adding other OAuth providers much simpler and less error prone.
Copy link
Member

@illegalprime illegalprime left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks awesome!! thank you

@illegalprime illegalprime removed the pending review This PR is pending review by a maintainer label Feb 13, 2017
@petschekr petschekr merged commit 7f31205 into master Feb 13, 2017
@petschekr petschekr deleted the authentication branch February 13, 2017 05:39
@petschekr petschekr removed the pending review This PR is pending review by a maintainer label Mar 31, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Adds or suggests a new feature, rewrite, or other enhancement to the codebase high priority
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants