该API用于使用授权码换取授权公众号或小程序的授权信息,并换取authorizer_access_token和authorizer_refresh_token。 授权码的获取,需要在用户在第三方平台授权页中完成授权流程后,在回调URI中通过URL参数提供给第三方平台方。请注意,由于现在公众号或小程序可以自定义选择部分权限授权给第三方平台,因此第三方平台开发者需要通过该接口来获取公众号或小程序具体授权了哪些权限,而不是简单地认为自己声明的权限就是公众号或小程序授权的权限。
web层代码:
/**
* 根据第三方平台auth_code查询授权信息
* @param authCode 授权成功时获得的授权码
* @param expiresIn 存活时间
* @return
* @throws IOException
*/
@ResponseBody
@RequestMapping(value = "/wechat/$APPID$/callback")
public void queryAuth(@RequestParam("auth_code")String authCode, @RequestParam("expires_in")String expiresIn,
HttpServletRequest request, HttpServletResponse response) throws IOException{
LOGGER.error("auth_code={},expires_in={}",authCode,expiresIn);
JSONObject jsonObject = WxThirdPartyAuthUtil.getAuthInfo(authCode,expiresIn);
//将授权信息保存到数据库
authorizerFacade.save(AuthorizerInfoDTO.copyFromJso