微信小程序获取session_key和openId(加解密 签名系列)
Posted 深圳航
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信小程序获取session_key和openId(加解密 签名系列)相关的知识,希望对你有一定的参考价值。
来自https://www.baoge.net/article/149178.html
1:什么是1:session_key和openId?会话密钥
正式来说,session_key是微信服务器生成的session_key对用户数据进行加密和签名的目的。(1)对wx.getUserInfo()接口获取的“用户信息中的密文”进行解密。(2)“轻微处理”它来维护小程序的登录状态。“略处理”大致如下:(1)生成一个随机数(官方称之为3rd _ session);(2)取这个随机数作为session的密钥,session_key openid为值。即session[3rd _ session]=session _ key openidoopenid:用户的唯一标识符,即你的小程序中每个微信用户的唯一标识符。
2.如何获取session_key和openId官方HTTP接口:https://api.weixin.qq.com/sns/jscode2session? APPID=APPID SECRET=secret js _ code=jscodegrant _ type=authorization _ code获取步骤:(1)获取APPID、secret、js _ code;(2)将appid、secret、js _ code分别替换为appid、secret、js _ code,在不改变其他的情况下组装完整的地址。示例:
![](https://image.cha138.com/20230408/d6610226797042b9810b6c7ae5d8918b.jpg)
3:可以在“浏览器打开此地址”或“模拟浏览器的GET在后台执行此地址”中返回以下JSON数据(包括openid和sessionkey)
![](https://image.cha138.com/20230408/586e75c5beeb4be59b8a3a776106fd3e.jpg)
总结:从第1、2、3步开始,只要得到appid、secret和js_code,就可以得到session_key和openId。
4.收购4:appid和秘密
Appid是applet IDsecret。如何获取小程序秘密:小程序后台登录网址:https://mp.weixin.qq.com/,打开小程序后台网址,注册登录后,可以找到你的AppID和AppSecret如下图所示。
![](https://image.cha138.com/20230408/aa51212522fe4215965d817416449271.jpg)
注:目前小程序个人无法注册,注册范围开放:企业、政府、媒体等组织;当然,这样个人也可以注册。门户:http://www.wxapp-union.com/forum.php? mod=viewthreadtid=495
5:js_code如何通过调用wx.login()接口获取登录凭证(js _ code)?
![](https://image.cha138.com/20230408/2a89fae909df4143a2fda5f4f3c41d5c.jpg)
6:总结获取session_key的全过程:(1)注册微信小程序,在登录后台的设置中获取appId和secret(密钥);(2)调用wx.login()接口获取登录凭证js _ code(3)调用wx.request()接口向服务器后台发送JS _ code(4)在服务器后台,给定appId、secret和js_code,然后调用下面官方提供的http接口,就可以拿回openId和session_key了。官方http接口地址是https://api.weixin.qq.com/sns/jscode2session? appid=APPIDsecret=SECRETjs _ code=JSCODEgrant _ type=authorization _ code
微信小程序-获取用户信息和openid,session_key,
1:微信小程序获取用户信息:比如常用的 avatarUrl (用户头像),nickName (用户名称) 等等,
(1):获取用户信息调用 wx.getUserInfo 代码如下:
直接请求接口就可以了,随后把数据存放到storage中,下次直接取 就不用再请求接口,,
2:获取 openid
(1):请求wx.login 接口,代码如下:
url:是微信提供的
appid:是小程序的appid
secret:是小程序开发设置的 AppSecret
只要获取到这两项,用户信息可以用于页面,openid可以辨别用户,把这些请求接口存到后台 就ok了,
以上是关于微信小程序获取session_key和openId(加解密 签名系列)的主要内容,如果未能解决你的问题,请参考以下文章