開發 Web API 的 SSL 設定卡到了一些關卡,順便測了幾個情境
[ASP.NET Web API 2] 開發環境使用 SSL
- 8474
- 0
- ASP.NET Web API 2
- 2020-07-05
開發 Web API 的 SSL 設定卡到了一些關卡,順便測了幾個情境
本以為這是一個很簡單的題目,但由於我是用 OWin,所以只要依賴 HttpContext.Current 就無法使用,花了一些時間整理出不透過 HttpContext.Current 上傳檔案的用法
OAuth2 是目前大廠都有支援的一種授權機制, Swagger 也有支援,我將使用 Resource Owner Password / Implicit flow + Identity Framework 來進行演練。
前面幾篇寫了使用 Swagger 的方式,這篇記錄一下編寫文件的技巧以及支援 Client Code Gen 幾種方式
Swagger UI 上方有一個 api_key,這次我要利用他加上 JWT 來驗證
通常 API 都會經過保護, 當 API 需要授權才能使用時,Swagger 就需要做一些調整才能正常的調用,設定好 Basic Auth 就會有驗證對話視窗
來看看怎麼完成的吧
預設的情況,Web API 想要用相同的 ClassName 不同的 Namespace 來當成版本 URI 是不行的,幸好這件事不難官方也有提供解法
搬到 Swagger 也不難,只是有一些坑需要踩..
Swagger 是個不錯的文檔+測試工具,但是卻不支援多個行為,需要靠它來簡化文件的工作,怎麼辦?
我的作法是在測試專案用OWIN把 WebApp 掛起來,測試案例便可直接打進 Web API,需要外部注入來改變內部狀態時,就不能像以前呼叫 Class,我想到了一些作法,比如組態擋、#if、Header,這裡就分享 Header 的做法
續上篇 https://dotblogs.com.tw/yc421206/2019/01/07/authentication_via_jwt-dotnet,這裡介紹 MS JWT 的使用方式