① 如何通過後端(Java)實現微信三方登錄
實現微信三方登錄,需先在微信開放平台獲取APPID、SECRET及回調域三個關鍵信息。建議公司申請並提供給開發者直接使用。
用戶在網站上點擊帶有APPID和回調域的a標簽鏈接進行微信登錄。登錄後,系統將顯示二維碼,掃碼並同意授權後,鏈接至回調地址,並返回授權碼。這一步驟後,系統可以獲取到授權碼。
利用HttpClient工具發送第二個請求,通過授權碼換取訪問令牌access_token。需預先准備HttpClient工具和相應處理包。
後端接收並解析訪問令牌,使用HttpClient調用微信介面獲取令牌access_token與openid,即微信用戶標識。通過fastjson庫對返回的json數據進行處理。
獲取到openid後,即可判斷用戶是否已綁定微信。如果已綁定,用戶可實現免密登錄;未綁定,則需通過第三方請求獲取用戶詳細信息,完成資料庫中的微信用戶綁定。
針對未綁定或首次綁定的用戶,可採用三種策略解決:使用隨機密碼和手機號作為用戶名,初次只能微信登錄,不便於用戶體驗(非最佳選擇);初次微信登錄時要求輸入密碼,之後使用微信登錄直接通過,賬號登錄需手機號密碼復合驗證;初次綁定使用手機驗證碼完成,通過手機號綁定,下次登錄可實現免密登錄,並提供隨機密碼以供下次修改賬號密碼使用。