【发布时间】:2021-08-03 15:01:31
【问题描述】:
Auth Middleware - 我正在执行 verifyIdToken()
const admin = require("../firebase");
const authCheck = async(req, res, next) => {
try{
const firebaseUser = await admin.auth().verifyIdToken(req.headers.authtoken);
console.log("FIREBASE USER => ", firebaseUser);
req.user = firebaseUser;
next();
}
catch(e){
console.log(e);
res.status(422).send({error: e.message});
}
}
这是我使用 firebase verifyToken() 从 firebase 得到的响应。我没有得到名称属性。谁能告诉我如何获取用户名?
FIREBASE USER => {
iss: 'https://securetoken.google.com/ecommerce-36c49',
aud: 'ecommerce-36c49',
auth_time: 1628002053,
user_id: '80oOozlXZOVZTLhKAhTMY04YJHC2',
sub: '80oOozlXZOVZTLhKAhTMY04YJHC2',
iat: 1628002053,
exp: 1628005653,
email: 'robodroid2001@gmail.com',
email_verified: true,
firebase: { identities: { email: [Array] }, sign_in_provider: 'password' },
uid: '80oOozlXZOVZTLhKAhTMY04YJHC2'
}
更新
const admin = require("../firebase");
const authCheck = async(req, res, next) => {
console.log(req.headers.authtoken);
try{
const firebaseUser = await admin.auth().verifyIdToken(req.headers.authtoken);
console.log("FIREBASE USER => ", firebaseUser);
req.user = firebaseUser;
**const response = await admin.auth().getUser(firebaseUser.uid);
console.log("response: ", response);**
next();
}
catch(e){
console.log(e);
res.status(422).send({error: e.message});
}
}
module.exports = authCheck;
这是我在执行 getUser(uid) 后得到的响应。但仍然没有得到名字。它显示名称:未定义。
response : UserRecord {
uid: '80oOozlXZOVZTLhKAhTMY04YJHC2',
email: 'robodroid2001@gmail.com',
emailVerified: true,
displayName: undefined,
photoURL: undefined,
phoneNumber: undefined,
disabled: false,
metadata: UserMetadata {
creationTime: 'Tue, 03 Aug 2021 14:46:50 GMT',
lastSignInTime: 'Tue, 03 Aug 2021 17:28:43 GMT',
lastRefreshTime: 'Tue, 03 Aug 2021 17:28:43 GMT'
},
providerData: [
UserInfo {
uid: 'robodroid2001@gmail.com',
displayName: undefined,
email: 'robodroid2001@gmail.com',
photoURL: undefined,
providerId: 'password',
phoneNumber: undefined
}
],
passwordHash: undefined,
passwordSalt: undefined,
tokensValidAfterTime: 'Tue, 03 Aug 2021 14:46:51 GMT',
tenantId: undefined
}
【问题讨论】:
标签: node.js