Comments (7)
Okay, that eliminates Sign In with Apple. If you've got the time, briefly take a look at the differences between the others.
from pm-dashboard-v2.
Thank you so much for digging into it! That's a really good analysis. User authentication isn't a super high priority for us, so it's likely that we won't implement it until later. For now, let's go ahead and tentatively say we're going to use react-google-login, and we'll double check before we start diving into it. Feel free to open a PR for the readme updates.
from pm-dashboard-v2.
I think the 1st and 2nd are basically the same in our context; the official description for react-google-login is "A Google oAUth Sign-in / Log-in Component for React". So I'll consolidate those two. I kind of feel like this is the best option, though I'll look into the others.
It's free to use and is made for React, and thereby is not difficult to work with our app; the documentation on the website shows the code you could pretty much just copy paste to get it working. You'll "get" the typical "Sign in with Google" button and also a "Logout of Google" button. You can also create custom-looking buttons. It's possible to allow the user to stay signed in, across website loads.
It's also easy to obtain information on the logged in users. The onSuccess callback, if the user is not offline, will give you a GoogleUser object, which basically has a method called getBasicProfile()
which will return you important user information like the user's name and email (other stuff too)
from pm-dashboard-v2.
I'm not sure about Sign in with Apple, what if some people don't have an Apple ID? I feel like everyone kind of has a Google Account. And if we really wanted to look into it, I think there's react-apple-login, similar to react-google-login.
from pm-dashboard-v2.
Tbh I feel like react-google-login sounds easy and like a good option to use, but I could look into the other options if you'd like.
from pm-dashboard-v2.
Upon investigating the other options, I think they all (except Auth0) seem to require much more work than something like react-google-login. First, I also don't think we should really be doing this from scratch if there are other established options, and it also just seemed like a lot of work.
In terms of Auth0, the extra thing is that you have to create an account and then from the Auth0 Dashboard Application Settings, have to configure Callback URLs, Logout URLs, and Allowed Web Origins by just adding the appropriate URLs. Then you have to install the Auth0 React SDK (just through npm) and after that setting up login and logout is pretty straightforward, you can pretty much just copy paste what they have done in this Quick Start Guide. I would say that what differentiates Auth0 from Google sign in is that it allows you to add authentication with multiple sources, so not just sign in with Google but also with LinkedIn or GitHub for example. Not sure if we really care though, as I think the people using our app will all have Google accounts.
Okta and JSON Web tokens just seemed like they would take a lot more time to set up. They both require the use of React Router, which I know we are going to be using but still. Also JSON Web Tokens seemed to require a bunch more dependencies.
from pm-dashboard-v2.
So I'd say we can decide between react-google-login and Auth0.
from pm-dashboard-v2.
Related Issues (20)
- Change Requests - Displays Incorrect Implemented Change Date Implemented
- Change Requests - Make URL Even Shorter
- General - Add a Help Page alongside settings
- Change Requests - Add Date Submitted as Table Column
- Change Requests - Add `COMPETITION` and `MAINTENANCE` as CR Why Types
- General - Alphabetize Users for Easier Selection
- General - Create Manual Database Insertion Script
- Projects - Upcoming Deadlines & Timeline Status
- Users - Enable Users to Save Settings
- Users - Add Teams HOT 2
- General - Enhanced Useful Links
- General - Abstract Card Component
- General - Convert All TSX Pipes to Components
- Projects - Link Back to Project on Work Package Page
- General - More Breadcrumbs
- General - Upgrade middyjs to v3 HOT 1
- General - Remove Empty Stylesheets
- Projects - Endpoint for getting risks
- [Frontend] - Move Remaining CSS Files to Stylesheets Folder
- [Frontend] - Move Test Files to Mirrored Folder Structure
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pm-dashboard-v2.