微信小程序> 微信小程序之token验证

微信小程序之token验证

浏览量:800 时间: 来源:微微一笑倾城

作用:防止攻击,避免其他人随意的调用接口,以保证数据的安全性。

在使用token前,首先了解下缓存的使用,比如(memcache/redis)等,在配置好memcache或者redis缓存后,下面就开始代码讲解

   首先要生成token将token存入缓存中设置缓存时间 ,然后将token返回给小程序的前端   ,前端获取token后 验证,验证后将token通过headers传到后台,后台接收前台传过来的值,并在每个接口中加入token验证代码,判断前端返回的token与缓存中的是否一致,如果存在则返回接口数据 ,如果不存在则不返回数据直接退出接口。

 

//通过code生成token      code不可反复使用,只能使用一次
            string url = "https://api.weixin.qq.com/sns/jscode2session?appid=wx0eac3f4a1fef6170&secret=90386e2451500b0ba8cc75613d294e83&js_code=" + code + "&grant_type=authorization_code";
            string content = DoGet(url);
            if (content.IndexOf("errcode") 0)
            {
                WXuserinfo wx = new WXuserinfo();
                wx.statusCode = 404;
                userinfo.Add(wx);
                return userinfo;
            }

            string openid = JObject.Parse(content)["openid"].ToString();
            var uuidN = Guid.NewGuid().ToString("N");
            string time = DateTime.Now.ToString();
            //string token = Basic.MD5Encrypt32(uuidN + time);
            string token = MD5Comm.Md5Hash(uuidN + time);
            //获取到的用户openid,将token作为缓存的键存入缓存   设置缓存时间一天
            api.cdchuandong.com.App_Start.Memcached.Add("APIUSERID_TOKEN_" + token, openid, DateTime.Now.AddDays(1));
           
            CD.ChuanDong.Users.RemotingServer.Model.WXUsersInfo wxUsers = CD.ChuanDong.Users.BLL.WXUsers.GetWXUsersByOPenID(openid);
            if (wxUsers != null)
            {
                //添加缓存
                api.cdchuandong.com.App_Start.Memcached.Add("APIUSERID_TOKEN_USERID" + token, wxUsers.UsersID);
             
            }
 

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎