Skip to content

Commit c908c55

Browse files
committed
add firebase-admin in backend, endpoint expose for current user and recieve token from frontend and get user info from firebase-admin
1 parent 06edc6a commit c908c55

File tree

11 files changed

+2831
-141
lines changed

11 files changed

+2831
-141
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,4 @@ node_modules
33
dist
44
dist-ssr
55
*.local
6+
backend/firebase/serviceAccountKey.json
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
const firebaseAdmin = require('../firebase')
2+
3+
const UserControllers = (
4+
function() {
5+
6+
const currentUser = async (req, res) => {
7+
console.log('req.headers: ', req.headers.token);
8+
try {
9+
const firebaseUser = await firebaseAdmin.auth().verifyIdToken(req.headers.token)
10+
11+
console.log('req: ', firebaseUser);
12+
res.json(firebaseUser)
13+
14+
15+
} catch (error) {
16+
res.status(401).json({
17+
error
18+
})
19+
}
20+
// const userInfo = await req.oidc.fetchUserInfo()
21+
22+
// const user = await User.findOne({auth0Id: req.oidc.user.sub})
23+
// if(user) {
24+
// console.log('User exist')
25+
// } else {
26+
// console.log('New User')
27+
// const oidcUserInfo = {
28+
// auth0Id: req.oidc.user.sub,
29+
// firstName: req.oidc.user.given_name,
30+
// lastName: req.oidc.user.family_name,
31+
// fullName: req.oidc.user.name,
32+
// picture: req.oidc.user.picture,
33+
// email: req.oidc.user.email
34+
// }
35+
// new User(oidcUserInfo).save()
36+
// }
37+
38+
}
39+
40+
return {
41+
currentUser
42+
}
43+
}
44+
)()
45+
46+
module.exports = UserControllers

backend/firebase/index.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
2+
const firebaseAdmin = require("firebase-admin");
3+
4+
const serviceAccount = require("./serviceAccountKey.json");
5+
6+
firebaseAdmin.initializeApp({
7+
credential: firebaseAdmin.credential.cert(serviceAccount)
8+
});
9+
10+
module.exports = firebaseAdmin

0 commit comments

Comments
 (0)