收藏
回答

临时登录凭证 code 能不能在登录之后的其他业务请求的请求头中传给后端服务

https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html

临时登录凭证 code 只能使用一次

这个是指在这次登录的会话中只能使用一次?在此次会话中应该不限制吧,不然后面调用 auth.code2Session 接口的时候,要用到这个code怎么办

后端服务只有登录的时候才会从请求取到code,要想从登录后的业务请求中获取code,那前端必须把code放到业务请求头中了,每次发起请求头都需要带上code,这样跟【临时登录凭证 code 只能使用一次】有点冲突了,说的我有点懵!!!求大神解释;

按我的理解,有两种处理方式:

(1)每次会话期间, 前端把code放到业务请求头中发送给后端,后端校验的时候,调用 auth.code2Session 接口就能渠道code;

(2) 每次会话期间, 后端在每次登录成功后将临时code保存起来,后面每次收到前端的业务请求的时候,前端不用送code; 这种的后端需要在会话失效的时候主动去清除code;

最后一次编辑于  03-06
回答关注问题邀请回答
收藏

2 个回答

  • 陕西破折号
    陕西破折号
    03-06

    这个code 对微信来讲就只有auth.code2Session这一个用途,只能一次的意思是你调用了code2session 这个接口后,下次再用同样的code就失效了。

    至于其他业务,对微信接口来讲也没其他的接口要用这个code了。至于你想传给后端,那是你自己定义的。和微信的接口没关系。


    03-06
    有用 1
    回复
  • |G.XIAO|
    |G.XIAO|
    03-06

    常规做法是:

    wx.login 获取到code后,到服务器换取 user_id,并存到前端,前端用user_id作为用户的身份标识

    1.能解决 code 的有效期时长

    2.能解决每次wx.login 的时长损耗

    3.如果对用户身份安全性要求高的接口,可以在传user_id在加上code

    03-06
    有用
    回复
登录 后发表内容
问题标签