来自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,在不改变其他的情况下组装完整的地址。示例:
3:可以在“浏览器打开此地址”或“模拟浏览器的GET在后台执行此地址”中返回以下JSON数据(包括openid和sessionkey)
总结:从第1、2、3步开始,只要得到appid、secret和js_code,就可以得到session_key和openId。
4.收购4:appid和秘密
Appid是applet IDsecret。如何获取小程序秘密:小程序后台登录网址:https://mp.weixin.qq.com/,打开小程序后台网址,注册登录后,可以找到你的AppID和AppSecret如下图所示。
注:目前小程序个人无法注册,注册范围开放:企业、政府、媒体等组织;当然,这样个人也可以注册。门户:http://www.wxapp-union.com/forum.php? mod=viewthreadtid=495
5:js_code如何通过调用wx.login()接口获取登录凭证(js _ code)?
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