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

Java微信授權(quán)登陸的實現(xiàn)示例

 更新時間:2021年06月04日 13:01:31   作者:JavaManual  
微信授權(quán)登錄,官方文檔寫的比較簡潔。所以對于會的人一目了然,而對于新手剛?cè)腴T的人來說是舉步維艱。本文詳細的介紹了Java微信授權(quán)登陸的實現(xiàn)示例,感興趣的朋友可以了解一下

前提:

微信公眾平臺:注冊微信認證的公眾號也就是服務(wù)號 ,擁有跟高級權(quán)限的微信接口。(注冊服務(wù)號需要一些企業(yè)信息,需自己或者公司解決)

注: 2018年12月起 訂閱號不能認證升級為服務(wù)號。但可以將你的訂閱號遷移至另一個公眾號,需300元費用。

準(zhǔn)備公眾號的:APPID 與  APPSECRET

二、服務(wù)號注冊成功后,如果項目也有服務(wù)號的公眾號平臺,跟項目負責(zé)人溝通將你個人的微信號添加為服務(wù)號的管理

找到左邊導(dǎo)航欄最下面的 基本配置 進去, 記住公眾號的 AppId 與 AppSevrect , 如果AppServret忘記了重置重新記住。

配置IP白名單,項目所處的IP配置進去,如拿自己的本機ip用于臨時的配置上去,等項目上線重新配置IP。

然后微信登陸需要微信網(wǎng)頁授權(quán),在公眾中網(wǎng)頁授權(quán)需要配置一個域名,準(zhǔn)備一個備案的域名,域名備案好大概需要20個工作日,如果沒有可以下載 花生殼軟件 新手注冊 會送一個免費域名 可以用來做測試,如果有備案好的域名當(dāng)然更好。

沒有備案的域名情況,用花生殼 內(nèi)網(wǎng)穿透測試

自己注冊 會送個免費的域名 然后花6塊永久的內(nèi)網(wǎng)穿透體驗版 注冊好后,內(nèi)網(wǎng)穿透配置

配置好后可以診斷測試,確保配置的端口 在運行中,如果是項目的端口項目要處于運行中狀態(tài),不然會連接失敗

這些都沒問題后回到 在公眾號內(nèi)的左邊導(dǎo)航找到 公眾號設(shè)置 ----- 功能設(shè)置 --- 網(wǎng)頁授權(quán)域名 進行域名授權(quán)配置。

一、域名授權(quán)需要你下載一個文件放置你的域名根目錄下,也就就是你域名訪問的項目的根目錄下,然后在通過瀏覽器 域名/文件名.txt 可以訪問到文件中的內(nèi)容,這個是重點,一定要可以訪問的到文件內(nèi)容,然后在去網(wǎng)頁授權(quán)域名綁定域名保存就好。配置以后此域名下面的頁面http://www.qq.com/music.html 、 http://www.qq.com/login.html 都可以進行OAuth2.0鑒權(quán)。但http://pay.qq.com 、 http://music.qq.com 、 http://qq.com無法進行OAuth2.0鑒權(quán)

如果公眾號登錄授權(quán)給了第三方開發(fā)者來進行管理,則不必做任何設(shè)置,由第三方代替公眾號實現(xiàn)網(wǎng)頁授權(quán)即可

二、記住是域名,不是URL。不需要帶http。

文件放置項目的根目錄或者webapp下,可以通過瀏覽器  域名/文件名.txt  訪問文件內(nèi)容,也可放置項目的目錄下,訪問時 域名/目錄名/文件名

這里你可能會遇見配置失敗 報 找不到這個文件或時文件內(nèi)容不匹配

注意看你是否放置根目錄下,位置沒錯。項目是否有攔截器攔截了導(dǎo)致訪問不到該文件

以上都都弄好了開始我們重點編碼。

微信授權(quán)登陸流程:

登陸授權(quán)作用域分為兩種:

一 、靜默登陸 scope參數(shù)值為 snsapi_base;只能獲取到用戶openid。好處是靜默認證,無需用戶手動點擊認證按鈕,感覺上像是直接進入網(wǎng)站一樣。

二、 授權(quán)登陸 scope參數(shù)值為 snsapi_userinfo;可以獲取到openid、昵稱、頭像、所在地等信息。需要用戶手動點擊認證按鈕

授權(quán)登陸步驟:

1、引導(dǎo)用戶進入授權(quán)頁面同意授權(quán),獲取code 

2、通過code換取網(wǎng)頁授權(quán)access_token(與基礎(chǔ)支持中的access_token不同)和openid

3、通過網(wǎng)頁授權(quán)access_token和openid獲取用戶基本信息

一、 微信登陸觸發(fā)按鈕或圖片鏈接

在首頁準(zhǔn)備一個按鈕或者一個鏈接用來發(fā)起請求。

這里我們用一個鏈接做示例

1.通過微信接口獲取code

微信獲取code接口: https://open.weixin.qq.com/connect/oauth2/authorize?

參數(shù)下表:

參數(shù)

是否必須

說明

appid

公眾號的唯一標(biāo)識

redirect_uri

授權(quán)后重定向的回調(diào)鏈接地址,請使用urlencode對鏈接進行處理

response_type

返回類型,請?zhí)顚慶ode

scope

應(yīng)用授權(quán)作用域,snsapi_base (不彈出授權(quán)頁面,直接跳轉(zhuǎn),只能獲取用戶openid),snsapi_userinfo (彈出授權(quán)頁面,可通過openid拿到昵稱、性別、所在地。并且,即使在未關(guān)注的情況下,只要用戶授權(quán),也能獲取其信息)

state

重定向后會帶上state參數(shù),開發(fā)者可以填寫a-zA-Z0-9的參數(shù)值,最多128字節(jié)

#wechat_redirect

無論直接打開還是做頁面302重定向時候,必須帶此參數(shù)

code作為換取access_token的票據(jù),每次用戶授權(quán)帶上的code將不一樣,code只能使用一次,5分鐘未被使用自動過期。

Controller控制器:

微信用戶授權(quán)確認登陸

  • 第一步登錄鏈接拼好后,在手機微信中打開,微信便會跳轉(zhuǎn)到確認授權(quán)頁面,點擊確認授權(quán)即可。(這一步,不用開發(fā)者做處理?。?/li>
  • 用戶同意授權(quán),頁面將跳轉(zhuǎn)至 redirect_uri/?code=CODE&state=STATE。

二、獲取 openid

請求與帶攜帶參數(shù)

返回的數(shù)據(jù)字段

代碼

三、獲取用戶信息

請求與參數(shù)

返回的JSON數(shù)據(jù)及字段解釋

代碼:

最后的 回調(diào)請求 回授權(quán)成功頁面

獲取到用戶信息可進一步進行業(yè)務(wù)處理,

成功頁面

結(jié)果圖

首頁:

用戶授權(quán)確定登陸:

授權(quán)成功:

詳情也可去看官方文檔:https://mp.weixin.qq.com/wiki?action=doc&id=mp1421140842&t=0.2934098934066318#2

到此這篇關(guān)于Java微信授權(quán)登陸的實現(xiàn)示例的文章就介紹到這了,更多相關(guān)Java微信授權(quán)登陸內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 深入解析Java的Hibernate框架中的持久對象

    深入解析Java的Hibernate框架中的持久對象

    Hibernate的持久對象在數(shù)據(jù)庫數(shù)據(jù)操作中有著重要作用,這里我們就來深入解析Java的Hibernate框架中的持久對象,首先必須從理解持久化對象的生命周期開始:
    2016-07-07
  • Java分布式session存儲解決方案圖解

    Java分布式session存儲解決方案圖解

    這篇文章主要介紹了Java分布式session存儲解決方案圖解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-07-07
  • Spring Boot編寫攔截器教程實例解析

    Spring Boot編寫攔截器教程實例解析

    這篇文章主要介紹了Spring Boot編寫攔截器教程實例解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-06-06
  • java實現(xiàn)文件復(fù)制、剪切文件和刪除示例

    java實現(xiàn)文件復(fù)制、剪切文件和刪除示例

    這篇文章主要介紹了java實現(xiàn)文件復(fù)制、剪切文件和刪除示例,需要的朋友可以參考下
    2014-04-04
  • SpringBoot整合Mysql和Redis的詳細過程

    SpringBoot整合Mysql和Redis的詳細過程

    這篇文章主要介紹了SpringBoot整合Mysql和Redis的示例代碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-02-02
  • 淺談單例模式和線程安全問題

    淺談單例模式和線程安全問題

    這篇文章主要介紹了淺談單例模式和線程安全問題,再某些特殊的情況下,存在一個類僅能用來產(chǎn)生一個唯一對象的必要性,因此需要單例模式,需要的朋友可以參考下
    2023-04-04
  • 關(guān)于Prometheus + Spring Boot 應(yīng)用監(jiān)控的問題

    關(guān)于Prometheus + Spring Boot 應(yīng)用監(jiān)控的問題

    這篇文章主要介紹了關(guān)于Prometheus + Spring Boot 應(yīng)用監(jiān)控的問題,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • Java RPC框架過濾器機制原理解析

    Java RPC框架過濾器機制原理解析

    這篇文章主要介紹了Java RPC框架過濾器機制原理解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-02-02
  • Java設(shè)計模式之橋接模式實例詳解

    Java設(shè)計模式之橋接模式實例詳解

    這篇文章主要介紹了Java設(shè)計模式之橋接模式,結(jié)合實例形式詳細分析了橋接模式的概念、功能、Java實現(xiàn)方法及相關(guān)注意事項,需要的朋友可以參考下
    2017-09-09
  • Springboot maven plugin插件原理及作用

    Springboot maven plugin插件原理及作用

    這篇文章主要介紹了Springboot maven plugin插件原理及作用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-10-10

最新評論