oauth设置github登录,session中如何生成user信息呢?
发布于 8 年前 作者 jowang2016 3521 次浏览 来自 问答

通过passport设置github关联登录,一切正常,数据库中也写入了github用户名和邮箱,但是session中没有正确识别user信息。 在主页中有设置: {% if !currentUser %}

		            <li><a href="/login" class="btn btn-primary pull-right">登陆</a></li>
		            <li><a href="/register" class="btn btn-primary pull-right">注册</a></li>
		        {% else %}
		        	<ul class="nav navbar-nav">
				        <li class="dropdown">
				          <a href="" class="dropdown-toggle" data-toggle="dropdown">个人中心 <span class="glyphicon glyphicon-user pull-right"></span></a>
				          <ul class="dropdown-menu">
				            <li><a href="/profile">个人主页 <span class="glyphicon glyphicon-home pull-right"></span></a></li>
				            
				            <li class="divider"></li>
				            <li><a href="/logout">退出登录 <span class="glyphicon glyphicon-log-out pull-right"></span></a></li>
				          </ul>
				        </li>
				      </ul>
	            	
	            {% endif %}

这个currentUser在app.js是这样存储的: app.use(function (req,res,next) { res.locals.currentUser=req.session.userId; //flash res.locals.success = req.flash(‘success’).toString(); res.locals.error = req.flash(‘error’).toString(); next(); });

passport-session也已经设置了 //Initialize Passport.js app.use(passport.initialize());

//Restore session app.use(passport.session()); 如何将github登录的用户名关联到currentUser呢?

2 回复

话说发信息的时候 代码部分怎么设置啊? 粘贴的代码格式都错了。。。

这个问题已经解决了,通过oauth使用github登录之后,用户信息存储在req.user中,然后需要和本地存储关联一下,具体代码可以参见我的工程:https://github.com/jowang2016/react-express-webpack-mongo-bookwormsite 欢迎交流

回到顶部