微信登录的code

刚进公司的时候不懂什么是code,知道是微信登录的,但是不知道是怎么传值的,现在把我的经验说出来

首先在首页的express的路由中的回调函数中判断是否有code,如果没有就跳转微信登录


ua是可以在header中获取的,通过match方法查找当前是否是微信,req.query是可以获取url地址栏上的参数,req.query.code就是url中的code参数,判断一下如果没有这个参数就跳转微信登录的接口

code是怎么来的

code是通过微信登录的时候微信会给传回来的参数,当进行微信登录的时候就会自动传回来,所以可以通过判断code来确定是否微信登录过了

微信登陆

项目中是在controller里判断是否有code参数,如果有说明已经登陆过了,如果没有就需要重新登陆

微信登陆是第三方发起微信授权请求,用户允许授权第三方应用后,微信会重定向到第三方网站并会带上临时参数code,通过code参数加上AppID和AppSecret通过API换取access_token,最后根据access_token进行接口调用。


这个提醒一个坑,如果微信登录的时候url上有很多参数用&连接,如果不做处理,微信登陆的时候会自动过滤掉&后面的参数,所以这里处理了一下用encodeURIComponent处理一下url地址,这样微信登陆的时候编码后的参数就不会被切掉了


*** 希望我的文章对您有帮助

*** 您的赞赏就是对我最大的鼓励

       

猜你喜欢

转载自blog.csdn.net/weixin_41673550/article/details/79418231