程式設計

C# Web API的Token驗證小技巧

RESTful Web API不管是用C#寫還是用什麼語言寫的,都一定要用Token驗證,除非那個API是給所有人呼叫都無所謂的,比如說是取得公司的公開課程表的API,那就不需要Token。

如果需要Token的話,在C#要怎樣實作是很方便的呢?

這篇文章不會教怎樣寫Middleware因為網路已經夠多文章在教了,但我會說Token用Middleware來做相當方便。

Middleware做驗證

尤其我寫的是資料庫應用程式,會有使用者帳號的,直接寫一個中間層把JWT解開以後驗證資料庫,用使用者帳號取得使用者權限,全部寫在一個程式剛執行就一定會執行的Middleware裡面。

這樣程式一呼叫的時候就自動取得了權限,可以在每個Controller裡面判斷權限是否有,沒有的話就傳回null或錯誤訊息。

這樣Angular只要抓到資料為null或者錯誤訊息就知道沒有權限,再做處理,雖然Angular的Guard可以防止這個問題,但前端後端都有防護的話更安全。

Middleware的用法

可以有兩種方法利用Middleware讓開發更順暢,在開發的時候先給定比如權限預設值,Middleware先Comment起來。這樣就不會呼叫的時候因為Token錯誤一直在那邊卡。

或者寫兩個Middleware一個是用JWT,一個是用固定的Token,開發就用固定的Token,然後在那邊設定固定的權限。

結論

C# Web API只要有好的架構設計,可以減少開發的很多時間,以及Bugs出現的機率也會降低很多。

Middleware處理Token也只是一種方法而已,當然還有很多種方法。Middleware寫法也要自行去看書或者查網路文件。相信並不難,在現在GitHub這麼多範例程式碼的狀態,去找一個MIT License的學習模仿一下就好了。

 

 

What's your reaction?

Excited
0
Happy
0
In Love
0
Not Sure
0
Silly
0

Comments are closed.