Springboot realiza el inicio de sesión del código de escaneo de WeChat

Tabla de contenido

1. Registre una cuenta de desarrollador de WeChat, cree una aplicación y obtenga AppID y AppSecret

2. Introducir las dependencias del SDK de WeChat en el proyecto Spring Boot

 3. Configure AppID y AppSecret en el archivo de configuración de Spring Boot

4. Cree un Controlador para manejar las solicitudes de inicio de sesión de WeChat.

5. Configurar el Bean de WxMpService en la clase de inicio

6. Proporcione un botón de inicio de sesión de WeChat en la página y salte al enlace de autorización después de hacer clic


Para usar Spring Boot para implementar el inicio de sesión de WeChat, puede seguir los pasos a continuación:

1. Registre una cuenta de desarrollador de WeChat, cree una aplicación y obtenga AppID y AppSecret

  1. Ingrese a la plataforma pública de WeChat y haga clic en el botón "Registrarse".
  2. Seleccione "Registrar cuenta oficial" y complete la información de la cuenta oficial, incluido el nombre de la cuenta oficial, el tipo de cuenta oficial, el tipo de desarrollador, etc. Plataforma de desarrollo WeChat

 

3. Después de completar la información oficial de la cuenta, se requiere autenticación de identidad, es decir, presentar la calificación del sujeto y el certificado de identidad del administrador.

4. Después de pasar la autenticación, puede obtener "AppID" y "AppSecret" en el centro de desarrolladores, y estos dos parámetros se utilizarán para realizar el inicio de sesión de WeChat. 

2. Introducir las dependencias del SDK de WeChat en el proyecto Spring Boot

<dependency>
    <groupId>com.github.binarywang</groupId>
    <artifactId>weixin-java-tools</artifactId>
    <version>3.5.0</version>
</dependency>

 3. Configure AppID y AppSecret en el archivo de configuración de Spring Boot

wx.appid=your_appid
wx.appsecret=your_appsecret

4. Cree un Controlador para manejar las solicitudes de inicio de sesión de WeChat.

Puede usar el enlace de autorización para guiar al usuario a abrir y confirmar la autorización en WeChat, y luego obtener el OpenID y AccessToken del usuario.

@RestController
public class WechatController {

    @Autowired
    private WxMpService wxService;

    @GetMapping("/login")
    public String login(@RequestParam("code") String code) throws WxErrorException {
        WxMpOAuth2AccessToken accessToken = wxService.oauth2getAccessToken(code);
        String openid = accessToken.getOpenId();
        // TODO: 处理用户登录逻辑
        return "openid: " + openid;
    }

    @GetMapping("/authorize")
    public String authorize() throws WxErrorException {
        String redirectUrl = "http://your_domain.com/login";
        String url = wxService.oauth2buildAuthorizationUrl(redirectUrl, WxConsts.OAuth2Scope.SNSAPI_USERINFO, null);
        return "redirect:" + url;
    }
}

5. Configurar el Bean de WxMpService en la clase de inicio

@SpringBootApplication
public class Application {

    @Value("${wx.appid}")
    private String appId;

    @Value("${wx.appsecret}")
    private String appSecret;

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

    @Bean
    public WxMpService wxMpService() {
        WxMpService wxMpService = new WxMpServiceImpl();
        WxMpDefaultConfigImpl config = new WxMpDefaultConfigImpl();
        config.setAppId(appId);
        config.setSecret(appSecret);
        wxMpService.setWxMpConfigStorage(config);
        return wxMpService;
    }
}

6. Proporcione un botón de inicio de sesión de WeChat en la página y salte al enlace de autorización después de hacer clic

<a href="/authorize">微信登录</a>

        Después de que el usuario haga clic en el botón de inicio de sesión de WeChat, será dirigido a la página de autorización de WeChat. Después de confirmar la autorización, será redirigido a la interfaz /login, que obtendrá el OpenID y AccessToken del usuario y procesará la lógica de inicio de sesión.

Supongo que te gusta

Origin blog.csdn.net/weixin_46504244/article/details/129742395
Recomendado
Clasificación