当前位置: 首页 > wzjs >正文

哈尔滨优化网站公司有没有专门做花鸟鱼虫的网站

哈尔滨优化网站公司,有没有专门做花鸟鱼虫的网站,北京外贸网站优化,一元购物app目录 准备工作 实现流程 实现代码 公共部分 通过code获取openid等信息 解密手机号 扩展 不借助工具类实现解密 借助工具类获取access_token 准备工作 需要小程序账号(可以去微信公众平台创建一个测试号或者正式号) appid:小程序id …

目录

准备工作

实现流程

实现代码

公共部分

通过code获取openid等信息

解密手机号

扩展

不借助工具类实现解密

借助工具类获取access_token


准备工作

需要小程序账号(可以去微信公众平台创建一个测试号或者正式号)

+ appid:小程序id

+ appsecret:小程序密钥,

需要工具

+ HBuilder X(用来启动小程序代码的)

+ 微信开发者工具(用来调试小程序的)

只有后端的实现,没有前端的代码

实现流程

1.首先需要前端在小程序中调用wx.login去获取code

2.前端将code交给后端,后端使用code,appid,sectret调用微信的api获取openid和session_key(用来解密用的),union_id(要注册到微信开放平台才会有)

https://api.weixin.qq.com/sns/jscode2session?appid=小程序id&secret=小程序密钥&js_code=前端传递的code&grant_type=authorization_code

我们获取到了openid去数据库查询是否存在,如果存在直接返回token完成登录

如果数据库中并没有这个openid,需要进行第三步后的操作,获取用户基本信息和手机号进行注册

3.返回数据给前端,让前端通过使用wx.getUserInfo接口或者wx.getUserProfile(官方推荐这种,前面那个快要废弃)接口跳转到授权页面,获取用户的基本数据userInfo,和加密后的手机号数据encryptedData 以及 iv

4.前端将获取到的userInfo 和 encryptedData 以及 iv交给后端,后端将通过code获取到的session_key配合encryptedData 和iv对手机号进行解密,然后将获取到的手机号,基本信息,openid等信息进行注册后,返回前端token注册登录完成

5.完成

实现代码

下面的代码使用的是微信的sdk实现方式(提供了很多工具类,不需要我们定义解密等代码,直接调用sdk中的方法,非常非常非常简单)

公共部分

WxMaDefaultConfigImpl config = new WxMaDefaultConfigImpl();
// 替换为你的小程序 appId
config.setAppid("your_app_id");
// 替换为你的小程序 appSecret
config.setSecret("your_app_secret");WxMaService service = new WxMaServiceImpl();
service.setWxMaConfig(config)

通过code获取openid等信息

service是上面公共部分定义的

//code是前端返回的
WxMaJscode2SessionResult wxMaJscode2SessionResult = service.getUserService().getSessionInfo(code);
String openid = wxMaJscode2SessionResult.getOpenid;
String sessionKey = wxMaJscode2SessionResult.getSessionKey;

解密手机号

service是上面公共部分定义的

//sessionKey通过code换取的
//encryptedData, iv前端返回的
WxMaPhoneNumberInfo phoneNumberInfo = wxMaService.getUserService().getPhoneNoInfo(sessionKey, encryptedData, iv);
String phoneNumber = phoneNumberInfo.getPhoneNumber();

扩展

不借助工具类实现解密

public static String decryptData(String encryptedData, String sessionKey, String iv) throws Exception {// 解密byte[] encryptedDataBytes = Base64.getDecoder().decode(encryptedData);byte[] sessionKeyBytes = Base64.getDecoder().decode(sessionKey);byte[] ivBytes = Base64.getDecoder().decode(iv);Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");SecretKeySpec secretKeySpec = new SecretKeySpec(sessionKeyBytes, "AES");IvParameterSpec ivParameterSpec = new IvParameterSpec(ivBytes);cipher.init(Cipher.DECRYPT_MODE, secretKeySpec, ivParameterSpec);byte[] decryptedBytes = cipher.doFinal(encryptedDataBytes);return new String(decryptedBytes);
}

借助工具类获取access_token

service是上面公共部分定义的

String accessToken = service.getAccessToken();


文章转载自:

http://5JczdGoq.fpxms.cn
http://g5acueFR.fpxms.cn
http://UkLSsKyW.fpxms.cn
http://dAjDmbva.fpxms.cn
http://zhJutyKV.fpxms.cn
http://V0cA3dm2.fpxms.cn
http://PkdtOaWo.fpxms.cn
http://LYjTPn8W.fpxms.cn
http://1FlbSRS5.fpxms.cn
http://V6V0T3kl.fpxms.cn
http://GtqbT793.fpxms.cn
http://4BnnTQ48.fpxms.cn
http://s8jxX4kX.fpxms.cn
http://S7Cdtb20.fpxms.cn
http://OqsesCdA.fpxms.cn
http://1f2fR6YR.fpxms.cn
http://A8ZXaokP.fpxms.cn
http://xkcn64eR.fpxms.cn
http://Bh1h0g6M.fpxms.cn
http://Ya2XylMF.fpxms.cn
http://82cOJwsQ.fpxms.cn
http://6Ukm5qUa.fpxms.cn
http://ZWQCcQ5m.fpxms.cn
http://uqC5AjtS.fpxms.cn
http://Ra3g8V5q.fpxms.cn
http://jx6u5CS0.fpxms.cn
http://vDRc9qRZ.fpxms.cn
http://edy5DEtP.fpxms.cn
http://FNi2dFc2.fpxms.cn
http://lr62t7nr.fpxms.cn
http://www.dtcms.com/wzjs/642532.html

相关文章:

  • 企业网站搭建方案烟台汽车网站建设
  • 泰安集团网站建设报价吴忠市住房和城乡建设局网站
  • 徐州万网网站建设河南省能源规划建设局网站
  • 周口公司做网站网站设计公司佛山
  • 贵阳做网站软件成都房地产市场
  • 网站 动画 怎么做的制作网站服务器
  • 自己怎么做 优惠券网站久久建筑网不能用积分兑换金币了
  • 网站建设与维护可行性报告dw8网页设计教程
  • 江阴网站设计网站代码调试
  • django 网站开发实例手机应用app开发公司
  • 旅游网站建设主要工作电子宣传册如何制作
  • 淄博网站外包ppt要怎么做网站
  • 360做网站吗iis7建立网站
  • 网站模块名称荆门市住房和城乡建设局网站
  • 素材网站上的元素是怎么做的做网站怎么打不开localhost
  • 湖南网站设计案例免费域名解析网站建设
  • 响应式网站开发原理界面做的比较好的网站
  • 苗木网站模版廊坊网站建设咨询青橙网络
  • 知识产权网站建设企业宽带解决方案
  • 郑州市精神文明建设 网站怎样建立一个营销的公司网站
  • 怎么注销网站wordpress重装后404
  • 广州网站建设哪个好江苏专业网站推广公司
  • 网站如何做sem外链发布论坛
  • 东莞整站优化排名网站建设运营培训总结
  • 广东长城建设集团有限公司 网站阿里云镜像双wordpress
  • 网站卖东西怎么做网站都有后台吗
  • 网站后台改变图片尺寸微信网站什么做
  • 台州的网站建设优化设计七年级上册数学答案
  • 站群seo技巧wordpress密钥
  • 关于公司网站建设情况的汇报企业年金怎么缴纳