从 google 快速身份验证中获取用户 ID (passport.js)
Get user ID from google authentication in express (passport.js)
我试图在用户登录后获取 user.id,但我无法弄清楚。
当我在 Postman (../api/users/829ug309hf032j) 中执行硬 GET 请求时,我得到了该用户,但我不知道如何获取在 GET 请求之前设置的 ID。
app.component.ts
const id = // id I need of logged-in user //;
this.http.get('http://localhost:3000/api/users/' + id).subscribe(data => {
console.log(data)
});
server.js
app.get('/api/users/:id', (req, res) => {
User.findById(req.params.id, (err, users) => {
res.send(users)
})
})
app.get('/auth/google/callback',
passport.authenticate('google', { failureRedirect: '/ask' }),
function(req, res) {
// Successful authentication, redirect home.
res.redirect('/answer');
});
我想向用户显示他们的姓名,并且仅在他们登录时显示...
<p *ngIf="user">{{ user.name }}</p>
如果身份验证成功,Passport 将使用 req.user
填充 req
对象,因此只需使用以下变体:
app.get('/api/users/me', (req, res) => {
if (req.user) {
res.json(req.user);
} else {
res.sendStatus(204);
}
});
我试图在用户登录后获取 user.id,但我无法弄清楚。
当我在 Postman (../api/users/829ug309hf032j) 中执行硬 GET 请求时,我得到了该用户,但我不知道如何获取在 GET 请求之前设置的 ID。
app.component.ts
const id = // id I need of logged-in user //;
this.http.get('http://localhost:3000/api/users/' + id).subscribe(data => {
console.log(data)
});
server.js
app.get('/api/users/:id', (req, res) => {
User.findById(req.params.id, (err, users) => {
res.send(users)
})
})
app.get('/auth/google/callback',
passport.authenticate('google', { failureRedirect: '/ask' }),
function(req, res) {
// Successful authentication, redirect home.
res.redirect('/answer');
});
我想向用户显示他们的姓名,并且仅在他们登录时显示...
<p *ngIf="user">{{ user.name }}</p>
如果身份验证成功,Passport 将使用 req.user
填充 req
对象,因此只需使用以下变体:
app.get('/api/users/me', (req, res) => {
if (req.user) {
res.json(req.user);
} else {
res.sendStatus(204);
}
});