小程序怎么登录授权

微信小程序客户端

第三方服务器端
微信服务器端
检测登录是否有效,如果无效则清楚登录信息(wx.checkSession);
调用接口获取登录凭证(code)(wx.login);通过凭证进而换取用户登录态信息,包括用户的唯一标识(openid)及本次登录的会话密钥(session_key)等。用户数据的加解密通讯需要依赖会话密钥完成。
客户端获得code,并将code传给第三方服务端.微信小程序端调用wx.login,获取登录凭证(code),并调用接口,将code发送到第三方客户端
第三方服务端用code换session_key和openid.小程序端将code传给第三方服务器端,第三方服务器端调用接口,用code换取session_key和openid.
第三方服务端生成新的session(3rd_session).第三方服务器端拿到请求回来的session_key和openid,先留着,不能给客户端;然后用操作系统提供的真正随机数算法生成一个新的session,叫3rd_session.
第三方服务端建立对应关系,并存储.将3rd_session作为key,微信服务端返回的session_key和openid作为值,保存起来
第三方服务端将3rd_session发送到客户端.客户端只拿到3rd_session就够了,大人说话小孩别插嘴,小程序不需要知道session_key和openid
正常请求.小程序每次请求都将3rd_session放在请求头里,第三方服务端解析判断合法性,并进行正常的逻辑处理。
官方参考文档: https://developers.weixin.qq.com/community/develop/doc/000cacfa20ce88df04cb468bc52801

拉取用户信息,将用户信息渲染到视图上

//获取用户信息
async getUserInfo() {
let token=wx.getStorageSync(‘token’)
//调取用户详情的接口
const res=await getUserDetail(token)
console.log(‘调取用户详情:’,res);
let _data={}
if(res.code===0) {
let {avatarUrl,id,nick}=res.data.base;
let n=0;
if(nick && avatarUrl ) {
n=2;
}else {
n=1;
}
_data={avatarUrl,id,nick,isShow:n}
this.setData(_data)

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值