Red de conocimiento informático - Conocimiento del nombre de dominio - Implemente rápidamente el desarrollo de autorización y autenticación de cuentas públicas de WeChat

Implemente rápidamente el desarrollo de autorización y autenticación de cuentas públicas de WeChat

Recientemente participó en el desarrollo de mini programas y cuentas públicas de WeChat. Todo el mundo sabe que el desarrollo y la depuración de WeChat es problemático, por lo que recomiendo NATTAPP, una herramienta de penetración en la intranet. Adjunto se encuentra la dirección de inicio rápido de un minuto del sitio web oficial: /article/natapp_newbie. Configure un nombre de dominio en esta plataforma. Este nombre de dominio se puede asignar al área local.

?

Antes del desarrollo de WeChat, primero debe tener un nombre de dominio registrado como /Wechat-Group/weixin-java-tools

Crear una nueva clase de configuración de URL

configuración yml

Interfaz de autorización de escritura

@GetMapping("/authorize")

public Stringauthorize(@RequestParam("returnUrl") String returnUrl) {

String url =urlConfig.getWechatMpAuthorize() +"/sell/wechat/userInfo";? //Dirección de devolución de llamada después de la autorización del usuario

//Redireccionamiento después de la ejecución del método

Cadena de redirecciónUrl =wxMpService.oauth2buildAuthorizationUrl(url, WxConsts.OAUTH2_SCOPE_USER_INFO,

URLEncoder.encode(returnUrl));

devuelve "redireccionamiento:" + redirecciónUrl;

}

Interfaz de dirección de devolución de llamada después de una autorización exitosa

/**

* Este método se volverá a llamar después de que el usuario esté autorizado. obtener el openid del usuario

**/

@GetMapping("/userInfo")

public StringuserInfo(@RequestParam("code") Código de cadena, @ RequestParam("state ") String returnUrl) arroja una excepción {

WxMpOAuth2AccessToken wxMpOAuth2AccessToken =new WxMpOAuth2AccessToken();

prueba {

wxMpOAuth2AccessToken =wxMpService.oauth2getAccessToken(código );

p>

}catch (WxErrorException e) {

e.printStackTrace();

log.error("Autorización de la página web WeChat{}" , e.getMessage());

lanzar nueva SellException(ResultEnum.WECHAT_MP_ERROR);

}

WxMpUser wxMpUser =wxMpService.oauth2getUserInfo(wxMpOAuth2AccessToken, nulo) ;

wxMpUser.getNickname();

Cadena openId = wxMpOAuth2AccessToken.getOpenId();

return "redirect;" + returnUrl +"?openid=" + openId;

}

Después de acceder a las dos interfaces, se completa la autenticación de autorización para obtener información del usuario

Prueba

Abra el Plataforma pública WeChat

/connect/oauth2/authorize?appid= APPID &

redirigir_uri= REDIRECT_URI &response_type=code&scope= ALCANCE &state=STATE#wechat_redirect

Es necesario reemplazar las negritas y cursivas.

Dirección de prueba personal

/connect/oauth2/authorize?appid=your appid&redirect_uri=el nombre de dominio anotado en WeChat/sell/wechat/authorize?returnUrl=&response_type=code&scope=snsapi_userinfo&state= STATE#wechat_redirect

Envíe estas direcciones al Asistente de transferencia de WeChat en WeChat

Al hacer clic en la dirección en el teléfono, se devolverá la llamada a la dirección de autorización preestablecida

Autorización después Una vez finalizado, se volverá a llamar a la interfaz configurada para obtener información del usuario

También se han obtenido el apodo de WeChat y el openId