在使用微信的 JS-SDK 进行微信公众号开发或是企业微信开发时,首先需要通过服务端程序去生成对应于前端每个页面的签名。 本文演示如何在 .NET Core 3.1 以上版本中生成该签名。
获取企业通讯的Token
要生成 JS-SDK 的签名,首先需要通过微信服务端API获取对应的通讯 JS Ticket, 而要获取 JS Ticket, 必须先获取与企业API访问相关的 Token。
为获取 Token , 我们使用微信服务端API, URL 为(可参考):
1 | https://qyapi.weixin.qq.com/cgi-bin/gettoken |
示例代码如下:
1 | private async Task<CropToken> getWxToken(string corpId, string secret) |
注意: 在上面的代码中,为了避免频繁的访问微信服务端API, 我们将获取到的token 保存在本地数据库中
获取 JS Ticket
获取了 Token 以后,就可以用该 Token 继续获取 JS Ticket 了。 参考微信服务端API文档, 对应的代码如下:
1 | private async Task<JsTicket> GetJsTicket() |
生成 JS-SDK 需要的签名
因为 JS-SDK 签名是针对前端的每个页面的,因此需要前端将当前页面的 URL 作为参数传到后端,后端的示例代码如下:
1 | [ ] |
返回的数据为前端在页面上配置 js-sdk 时需要的信息。
其中分别调用生成随机串和生成 SHA1 加密串的程序,如下:
1 | private string getRandomStr() { |