微信登录流程(针对游戏代码部分)

第一节、 无access_token登录:

第一步: app发起微信授权,用户授权完成之后,回调得到code
参考:
https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419317851&token=&lang=zh_CN
第二步: app将code发送给我们自己的server
第三步: server利用code获取到openid, access_token, refresh_token,
获取信息url为:

var url="https://api.weixin.qq.com/sns/oauth2/access_token?appid="+WX_APPID+"&secret="+WX_SECRET+"&code="+data.code+"&grant_type=authorization_code";

第四步:server利用openid和access_token取到用户信息,其中包括unionid, nickname, headimgurl
获取信息url为:

var url = 'https://api.weixin.qq.com/sns/userinfo?access_token='+access_token +'&openid='+openid;

第五步:server把unionid当做用户名进行注册(如果没有注册则注册,否则直接登录),登录,并将登录之后的玩家游戏数据发给app

    var data = {
        userdataingame:{
            name:unionid,
            nick:nickname,
            icon:headimgurl,
        },
        weixindata:{
            openid:openid,
            access_token:access_token,
            refresh_token:refresh_token,
        }
    },

第六步:app收到玩家的登录成功信息之后,把weixindata部分存储到本地,留待下次登录使用
第二节、带access_token登录(首次登录之后30天内):
第一步:app启动的时候,检测本地是否有access_token,openid,refresh_token
如果没有则走第一节介绍的流程
第二步:app检测access_token是否有效

利用如下url进行检测:
https://api.weixin.qq.com/sns/auth?access_token=ACCESS_TOKEN&openid=OPENID

第三步:app检测到access_token有效,直接进入第四步,否则利用refresh_token获得一个新的access_token

获得新的token的url为:
https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=APPID&grant_type=refresh_token&refresh_token=REFRESH_TOKEN

第四步:app获得了新的access_token了,则发给server:access_token,openid,refresh_token
如果app刷新失败,则需要从第一节第一步走起
第五步:server收到access_token,openid,refresh_token,则直接走到第一节第四步的流程上去完成之后的登录

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值