Comments (1)
@tylervick if you need just commonly used authentication methods - email/password, phone, magic link, Google / Facebook / Apple, then you may not need Passport.js. You can take advantage of a 3rd party authentication provider such as Firebase Auth, yet store user accounts inside of the application database.
In the case with Firebase Auth, you would add a trigger for [Sign In] button looking somewhat like this:
mutation SignInMutation($idToken: String!) {
signIn(idToken: $idToken) {
me {
id
email
displayName
}
}
}
const history = useHistory();
const [signIn] = useMutation(signInMutation);
async function handleSignIn() {
const provider = new firebase.auth.GoogleAuthProvider();
provider.addScope("email");
provider.addScope("profile");
// Open sign in dialog and get Firebase ID token
const { user } = await firebase.auth().signInWithPopup(provider);
const idToken = await user.getIdToken();
// Sign in into the API using that token and reload the page
signIn({
variables: { idToken },
onCompleted() {
history.replace(history.location);
}
});
}
signIn
, signOut
mutations can be found in api/mutations/auth.ts
.
And the actual implementation is located in an auth middleware for Express api/auth.ts
.
from relay-starter-kit.
Related Issues (20)
- Adding controller/service layer for business logic HOT 3
- MongoDB instead of PostgreSQL HOT 1
- Dependabot can't resolve your JavaScript dependency files
- File Upload HOT 3
- Dependabot can't resolve your JavaScript dependency files
- Dependabot can't resolve your JavaScript dependency files
- big int HOT 1
- SyntaxError: Unexpected token = HOT 2
- Missing quotation marks in setup.js HOT 2
- Feature Request: "New Feature Walkthrough"
- Add the flexibility of multiple roles HOT 1
- Bug with emails that have "." in them breaks username requirements
- README.md out of date - no "setup" script HOT 3
- Nightly build fails
- Account settings page does not update
- docker image for the repo HOT 1
- error while run yarn setup HOT 1
- Readme.md has not been updated. HOT 1
- app-deploy.js file does not exists
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 relay-starter-kit.