一、想要幹什麼
在最近的Angular+Sping boot的學習應用中,想要在企業微信獲取企業微信用戶的userid,完成網頁認證。具體可參考企業微信網頁認證api。
二、企業微信網頁認證原理
本身的理解
注意:這裏的消費code的過程,必須由服務後臺完成請求。
三、遇到的坑
我在使用的過程當中,試圖使用Angular在前端完成身份認證的過程,當時的流程圖:
因爲在微信開發中,微信內嵌的瀏覽器並無控制檯讓咱們打印日誌,只知道發生了錯誤,但具體錯誤一無所知。試圖經過alert方法,將錯誤的對象打印出來,但看不到錯誤對象的詳細信息。
四、vConsole
可能騰訊早就收到微信開發者的投訴,沒有控制檯,微信開發出現錯誤,徹底靠猜測本身哪裏出了問題,效率過低,因而悄悄的提供了vConsole給開發者調試代碼。vConsole是一個虛擬的控制檯。
使用方法:在頁面的head中加入以下代碼前端
<script src="http://wechatfe.github.io/vconsole/lib/vconsole.min.js"></script> <script> // 初始化 vConsole var vConsole = new VConsole(); console.log('Hello world'); </script>
這樣咱們的頁面就會增長一個虛擬的控制檯,console.log
或其餘調試方法都可以在虛擬控制檯中展示。
五、結論
經過vConsole調試,獲得了問題的關鍵:出現跨域錯誤,企業微信的API不容許跨域請求。也就是說消費code的過程當中,我使用angular發起get請求是不被容許的,反思以後得出正確的流程圖。
補充更正:頒發code的工做其實是由微信或企業微信客戶端完成的,並不是企業微信API。git