如何解决如何访问Google Oauth2护照中的个人资料信息?
因此,我希望索引页在索引页的页脚中显示当前登录的用户的名称。
我的Google登录路线
router.get("/login/google",passport.authenticate('google',{ scope:
[ 'email','profile' ] }));
router.get("/login/google/callback",passport.authenticate("google",{
successRedirect: "/videos",failureRedirect: "/login/google/error"
}));
router.get("/login/google/error",(req,res) => {
res.send("Error in google login")
})
我的Google策略
passport.use(new GoogleStrategy({
clientID: GOOGLE_CLIENT_ID,clientSecret: GOOGLE_CLIENT_SECRET,callbackURL: "http://localhost:3000/login/google/callback",passReqToCallback: true
},function(request,accesstoken,refreshToken,profile,done) {
User.findOrCreate({ googleId: profile.id },function (err,user) {
return done(err,user);
});
}
));
我的索引文件的页脚
<footer>
<% if(!auth){ %>
<li class="nav-item">
<a href="/register" class="nav-link active">Register!</a>
<li class="nav-item">
<a href="/login" class="nav-link active">Log In</a>
</li>
</li>
<% } else { %>
<li class="nav-item">
<a href="#" class="nav-link disabled">Welcome,<%= auth.username %> </a>
</li>
<li class="nav-item">
<a href="/logout" class="nav-link active">Log Out</a>
</li>
<% } %>
<div class="d-flex justify-content-center mt-3">
<ul class="nav">
<li class="nav-item">
<div class="g-ytsubscribe" data-channelid="UCAjHeCmPJ5lDVWw6dL_jQng" data-layout="default" data-count="default"></div>
</li>
</ul>
</footer>
我的页脚
解决方法
我在Google策略中将用户设置为个人资料,然后确定如何将其保存在req.user中
编辑:
换句话说,我将配置文件变量保存在另一个变量(req.user)中。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。