javascript - 前后端分离的项目中如何使用微信授权登陆?
问题描述
我的想法是点击登录按钮之后进入前端的一个登录中转页面,这个中转页面的后端逻辑中通过code参数,向https://api.weixin.qq.com/sns...这个API获取到用于访问该用户信息的access_token的同时在数据库里面保存一个access_token与微信用户openid的对应关系,并且向前端set一个值为该access_token的cookie。然后前端各种操作都带上这个cookie,后端通过这个cookie找到对应的openid,并且通过服务端脚本上的app_secret,access_token等参数进行各种操作提交,然后完成操作。
我这个思路是否有什么不对的地方嘛?想问问各位在前后端分离项目中是如何做微信登陆授权的?
问题解答
回答1:第三方授权登陆的话。。。你得有自己的用户系统吧。所以数据库存的是openid,access_token和你用户系统user_id的表。
前端的操作除非是需要访问微信API的,需要带上access_token,这时有两种办法,一种是把access_token写到页面上去,还有一种是用户请求你的服务器的api,然后你服务器从数据库取出access_token然后请求微信api。通常时使用后者的,因为一般的授权登陆的接口除了需要access_token以外,还会需要比方说appid和secret_code之类的,而secret_code通常是不能暴露的。
用户的各种操作可以使用token来验证,这个token是你用户系统生成的token,这个token可以放到cookie中。
相关文章:
1. 为什么span的color非要内联样式才起作用?2. html5 - H5做的手机分享页微信更新后,分享出去不再默认显示第一个图 作为缩略图3. css - div设置float:left后高度设置自动会无效 ?4. golang - 用IDE看docker源码时的小问题5. docker start -a dockername 老是卡住,什么情况?6. 手机开发 - Android蓝牙模块连接后怎么接收数据?求助7. 小白问题getDay()8. 请问一下各位老鸟 我一直在学习独孤九贱 现在是在tp5 今天发现 这个系列视频没有实战9. 求救一下,用新版的phpstudy,数据库过段时间会消失是什么情况?10. 老师,请问我打开browsersync出现这个问题怎么解决啊?

网公网安备