
# 微信认证接口
#### 接口功能
微信认证接口，用微信渠道上行接口认证。
#### 接口鉴权
```
// 1）将token、timestamp、nonce三个参数进行字典序排序
ArrayList<String> validations = new ArrayList<>();
validations.add(verifyCode);
validations.add(timestamp);
validations.add(nonce);
Collections.sort(validations);
// 2）将三个参数字符串拼接成一个字符串进行摘要签名
try {
    return SignatureEncryptUtil.getDigestByAlgorithm(joinStr(validations), algorithm);
} catch (NoSuchAlgorithmException e) {
    log.error("Failed to generate signature");
    throw new AiccCommonException(e);
}
```
![](https://support.huaweicloud.com/api-ccfs-cec/public_sys-resources/note_3.0-zh-cn.png)
sha1加密算法存在安全风险，请谨慎使用。
#### 接口原型
表1接口原型说明 
|   请求方法    |                                                                                                 GET                                                                                                 ||
|---|---|---|
| **请求URL** | https://ip:port/social/on/wechat/{channelId} | 其中，ip:port为对外暴露的nslb的ip和port， channelId为渠道id |
   
#### 请求参数
表2请求Request参数说明 
| 参数名称         | 选取原则 | 参数类型   | 默认值 | 说明                                  |
|:---|:---|:---|:---|:---|
| Content-Type | 必选   | String | 无   | 固定填 application/json;charset=UTF-8。 |
   
表3请求Body中request参数说明 
| 参数名称      | 选取原则 | 参数类型   | 默认值 | 说明    |
|:---|:---|:---|:---|:---|
| nonce     | 必选   | String | 无   | 随机数   |
| signature | 必选   | String | 无   | 签名    |
| echostr   | 必选   | String | 无   | 随机字符串 |
   
#### 响应参数
当调用本接口响应成功，response 无响应内容。
当调用本接口响应失败，则返回相应的状态码或者错误描述信息。
#### 接口示例
- 请求示例
  ```
  POST /social/on/wechat/202105112580330807
  Authorization: auth-v2/ak/2018-07-02T02:45:50Z/content-length;content-type;host/
  *******************
  Accept: */*
  Content-Type: application/json;charset=UTF-8
  Content-Length: 193
  ```
  

- 响应示例
  ```
  Status Code: 500
  response: "WeChatMessaging send failed"
  ```
  
 
