公司有個應用需要用到登陸員工的姓名澎粟,所以這一篇講下怎么獲取通過接口登陸員工信息也就是免登。
通過獲取當前用戶的姓名或者id匹配自己數(shù)據(jù)庫的員工信息實現(xiàn)免登纤控。
流程是:獲取code——通過code和access_token獲取user_ticket——通過user_ticket獲取員工信息
獲取code:
微信實現(xiàn)網(wǎng)頁登錄需要用到網(wǎng)頁OAuth2.0授權(quán)何恶,理論我就不說了,直接說下如何實現(xiàn)嚼黔。
網(wǎng)頁必須要有域名细层,ip地址是不行的。
要實現(xiàn)網(wǎng)頁登錄必須要用OAuth2.0授權(quán)唬涧,說的通俗點就是你要把需要獲取員工信息的頁面地址處理下疫赎。
需要生成的url模板:https://open.weixin.qq.com/connect/oauth2/authorize?appid=CORPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&agentid=AGENTID&state=STATE#wechat_redirect
下圖是參數(shù)的說明:
可能會覺得有點難懂,我解釋下碎节,你只要把這個url模板中的參數(shù)換成你自己的捧搞,redirect_uri就是你要獲取信息的頁面比如我的是xxx.com/mian,但是要用urlencode處理一下狮荔,如何實現(xiàn)胎撇,等下會貼一個工具類。response_type用默認的code就可以了殖氏,scope有三個參數(shù)晚树,分別有不同的權(quán)限,我用的是snsapi_userinfo雅采,#wechat_redirect直接加在最后面就好了爵憎。
我寫了個生成的工具類:
這樣獲取到的url就是已經(jīng)處理過的,因為我獲取信息的頁面就是應用的主頁婚瓜,所以將這個url直接放到應用設置頁面的工作臺應用主頁里宝鼓。
這樣在頁面的后端就可以通過request.getParameter("code")獲取到code了
后端代碼:
通過code和access_token獲取user_ticket
再通過user_ticket獲取信息
下面貼具體實現(xiàn)代碼:
1、用到的post工具類:
2巴刻、通過code獲取——user_ticket——員工信息:
3愚铡、controller類:
4、前端用el表達式顯示信息:
我后臺使用的是SpringMVC框架胡陪,有什么不懂的可以私信我沥寥,我們可以討論下正蛙。