当前位置:   article > 正文

微信小程序之token验证_海阔视界alitoken验证小程序

海阔视界alitoken验证小程序

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

在使用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);
             
            }
 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/一键难忘520/article/detail/833308
推荐阅读
相关标签
  

闽ICP备14008679号