欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

springboot實(shí)現(xiàn)微信掃碼登錄的項(xiàng)目實(shí)踐

 更新時(shí)間:2023年10月16日 10:48:58   作者:superboy@.  
微信掃碼功能是目前第三方登錄常見(jiàn)功能,前不久有個(gè)項(xiàng)目剛好用上,本文主要介紹了springboot實(shí)現(xiàn)微信掃碼登錄的項(xiàng)目實(shí)踐,具有一定的參考價(jià)值,感興趣的可以了解一下

要使用Spring Boot實(shí)現(xiàn)微信登錄,可以按照以下步驟:

1,注冊(cè)微信開(kāi)發(fā)者賬號(hào),創(chuàng)建一個(gè)應(yīng)用,獲取AppID和AppSecret

  • 進(jìn)入微信公眾平臺(tái),點(diǎn)擊“注冊(cè)”按鈕。
  • 選擇“注冊(cè)公眾號(hào)”,填寫(xiě)公眾號(hào)信息,包括公眾號(hào)名稱(chēng)、公眾號(hào)類(lèi)型、開(kāi)發(fā)者類(lèi)型等。微信開(kāi)發(fā)平臺(tái)

填寫(xiě)公眾號(hào)信息后,需要進(jìn)行身份認(rèn)證,即提交主體資質(zhì)和管理員身份證明。

認(rèn)證通過(guò)后,可以在開(kāi)發(fā)者中心獲取到“AppID”和“AppSecret”,這兩個(gè)參數(shù)將用于實(shí)現(xiàn)微信登錄。 

2,在Spring Boot項(xiàng)目中引入微信SDK依賴(lài)

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

3,在Spring Boot配置文件中配置AppID和AppSecret

wx.appid=your_appidwx.appsecret=your_appsecret

4,創(chuàng)建一個(gè)Controller,處理微信登錄請(qǐng)求。

可以使用授權(quán)鏈接,引導(dǎo)用戶(hù)在微信中打開(kāi)并確認(rèn)授權(quán),然后獲取用戶(hù)的OpenID和AccessToken

@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: 處理用戶(hù)登錄邏輯
        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,在啟動(dòng)類(lèi)中配置WxMpService的Bean

@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,在頁(yè)面中提供微信登錄按鈕,點(diǎn)擊后跳轉(zhuǎn)到授權(quán)鏈接

<a href="/authorize" rel="external nofollow" >微信登錄</a>

用戶(hù)點(diǎn)擊微信登錄按鈕后,會(huì)被引導(dǎo)到微信授權(quán)頁(yè)面,確認(rèn)授權(quán)后會(huì)被重定向到/login接口,接口會(huì)獲取用戶(hù)的OpenID和AccessToken并處理登錄邏輯。

到此這篇關(guān)于springboot實(shí)現(xiàn)微信掃碼登錄的項(xiàng)目實(shí)踐的文章就介紹到這了,更多相關(guān)springboot 微信掃碼登錄內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • IntelliJ IDEA中ajax開(kāi)發(fā)實(shí)現(xiàn)分頁(yè)查詢(xún)示例

    IntelliJ IDEA中ajax開(kāi)發(fā)實(shí)現(xiàn)分頁(yè)查詢(xún)示例

    這篇文章主要介紹了IntelliJ IDEA中ajax開(kāi)發(fā)實(shí)現(xiàn)分頁(yè)查詢(xún),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • break和continue的作用和區(qū)別解析(案例分析)

    break和continue的作用和區(qū)別解析(案例分析)

    break和continue都是用來(lái)控制循環(huán)結(jié)構(gòu)的,主要作用是停止循環(huán),這篇文章主要介紹了break和continue的作用和區(qū)別,需要的朋友可以參考下
    2023-03-03
  • java實(shí)現(xiàn)zip,gzip,7z,zlib格式的壓縮打包

    java實(shí)現(xiàn)zip,gzip,7z,zlib格式的壓縮打包

    本文是利用Java原生類(lèi)和apache的commons實(shí)現(xiàn)zip,gzip,7z,zlib的壓縮打包,如果你要是感興趣可以進(jìn)來(lái)了解一下。
    2016-10-10
  • IDEA配置Maven的超詳細(xì)步驟

    IDEA配置Maven的超詳細(xì)步驟

    Maven是一個(gè)能使我們的java程序開(kāi)發(fā)節(jié)省時(shí)間和精力,是開(kāi)發(fā)變得相對(duì)簡(jiǎn)單,還能使開(kāi)發(fā)規(guī)范化的工具,下面這篇文章主要給大家介紹了關(guān)于IDEA配置Maven的超詳細(xì)步驟,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • 最新評(píng)論