Angular先後端分離項目如何企業微信網頁認證

一、想要幹什麼
在最近的Angular+Sping boot的學習應用中,想要在企業微信獲取企業微信用戶的userid,完成網頁認證。具體可參考企業微信網頁認證api
二、企業微信網頁認證原理
image.png
本身的理解
image.png
注意:這裏的消費code的過程,必須由服務後臺完成請求
三、遇到的坑
我在使用的過程當中,試圖使用Angular在前端完成身份認證的過程,當時的流程圖:
image.png
因爲在微信開發中,微信內嵌的瀏覽器並無控制檯讓咱們打印日誌,只知道發生了錯誤,但具體錯誤一無所知。試圖經過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或其餘調試方法都可以在虛擬控制檯中展示。
image.png
image.png
五、結論
經過vConsole調試,獲得了問題的關鍵:出現跨域錯誤,企業微信的API不容許跨域請求。也就是說消費code的過程當中,我使用angular發起get請求是不被容許的,反思以後得出正確的流程圖。
image.png
補充更正:頒發code的工做其實是由微信或企業微信客戶端完成的,並不是企業微信API。git

相關文章
相關標籤/搜索