java實作微信掃碼登入,
登入是個很複雜的功能,尤其是企業級應用
準備工作
網站應用微信登入是基于OAuth2.0協定标準建構的微信OAuth2.0授權登入系統。
在進行微信OAuth2.在進行微信OAuth2.0授權登入接入之前,在微信開放平台注冊開發者帳号,并擁有一個已稽核通過的網站應用,并獲得相應的AppID和AppSecret,申請微信登入且通過稽核後,可開始接入流程。
授權流程說明
微信OAuth2.0授權登入讓微信使用者使用微信身份安全登入第三方應用或網站,在微信使用者授權登入已接入微信OAuth2.0的第三方應用後,第三方可以擷取到使用者的接口調用憑證(access_token),通過access_token可以進行微信開放平台授權關系接口調用,進而可實作擷取微信使用者基本開放資訊和幫助使用者實作基礎開放功能等。
微信OAuth2.0授權登入目前支援authorization_code模式,适用于擁有server端的應用授權。該模式整體流程為:
- 第三方發起微信授權登入請求,微信使用者允許授權第三方應用後,微信會拉起應用或重定向到第三方網站,并且帶上授權臨時票據code參數;
- 通過code參數加上AppID和AppSecret等,通過API換取access_token;
- 通過access_token進行接口調用,擷取使用者基本資料資源或幫助使用者實作基本操作。

第一步:請求CODE
第三方使用網站應用授權登入前請注意已擷取相應網頁授權作用域(scope=snsapi_login),則可以通過在PC端打開以下連結:
https://open.weixin.qq.com/connect/qrconnect?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
若提示“該連結無法通路”,請檢查參數是否填寫錯誤,如redirect_uri的域名與稽核時填寫的授權域名不一緻或scope不為snsapi_login。