这篇文章解决的问题:使用企业微信自建应用调用API接口,需要配置可信ip,但是在配置可行ip之前需要先配置可信域名,这篇文章解决的是如果你没有备案好的域名,你怎么通过 设置接受消息的服务器URL 的方式来完成这个步骤。
进入正题,如果你没设置可信域名,在点击设置企业可信ip时,会出现下图所示,选择 设置接受消息服务器URL。
之后会进入到下图,这个图片记为图1,解下来按照我的步骤去做,即可完成设置。
步骤:
一、找个controller,写一个GET接口,代码如下:
private static final String TOKEN = "TOKEN内容"; // 企业微信管理后台配置的 Token
private static final String ENCODING_AES_KEY = "ENCODING_AES_KEY内容"; // EncodingAESKey
private static final String CORP_ID = "企业微信id";
/**
* 企业微信验证接口
* @return
*/
@RequestMapping(value = "/verfity", method = RequestMethod.GET)
@IgnoreAuth
public String verfity(@RequestParam("msg_signature") String msgSignature,
@RequestParam("timestamp") String timestamp,
@RequestParam("nonce") String nonce,
@RequestParam("echostr") String echostr) throws AesException {
WXBizMsgCrypt wxcpt = new WXBizMsgCrypt(TOKEN, ENCODING_AES_KEY, CORP_ID);
String sEchoStr = wxcpt.verifyUrl(msgSignature, timestamp, nonce, echostr);
return sEchoStr;
}
注意要加@IgnoreAuth这个注解,这个注解的作用是使这个接口无需token校验即可被访问。
其中三个参数来源:
1.TOKEN:自己自定义一个字符串即可,但是要跟图1中的Token项保持一致。
2.ENCODING_AES_KEY:自己自定义一个字符串即可,但是要跟图1中的EncodingAesKey项保持一致。
3.CORP_ID:在网页版企业微信中,点击“我的企业”,拉到最下方即可看到一项“企业id”。
二、将代码发到服务器上
三、填写图1各项,URL即为接口地址,提交即可
以我的为例,接口地址为:http://ip:port/jeecg-boot/xxx/verfity