本文是使用java语言调用微信提供的接口,获取签名的详细过程,大致步骤如下:
- 在官网生成appId 与 appSecret,然后通过appId 与 appSecret调用接口获取到Access token
- 通过Access token调用微信提供的接口获取到jsapi_ticket
- 最后使用jsapi_ticket、随机字符串、时间戳、url拼接字符串,在使用
sha1
进行加密得到签名 - 将appid、时间戳、随机字符串、签名返回给前端
具体过程如下:
首先是请求参数:
package com.ncb.mbank.api.service.openact.dto.req;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description: 微信获取签名的请求参数
* @Author 胡尚
* @Date: 2022/1/4 11:40
* @Version 1.0
*/
@Data
public class GetWeChatSignatureReq implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "appid")
@NotBlank(message = "appid不能為空")
private String appId;
@ApiModelProperty(value = "appSecret")
@NotBlank(message = "appSecret不能為空")
private String appSecret;
@ApiModelProperty(value = "url",required = true)
@NotBlank(message = "url不能為空")
private String url;
}
接下来是业务层
package com.ncb.mbank.api.service.openact.bizsvc.impl;
import com.alibaba.fastjson.JSON;
import com.ncb.mbank.api.framework.core.constants.ErrorCodeConstants;
import com.ncb.mbank.api.framework.core.exception.ApplicationException;
import com.ncb.mbank.api.framework.web.constants.HsAccountConst;
import com.ncb.mbank.api.framework.web.utils.MbankHsUtils;
import com.ncb.mbank.api.framework.web.utils.RsaUtil;
import com