問題問:基於令牌的認證API和Javascript,您可以保護其他客戶端文件不被訪問嗎?
如果你會使用類似的設置如下面的例子:
- 簡單的WebAPI
- 的Javascript OIDCClient和的UserManager
是否可以保護其他客戶方文件被訪問?說例如我有一個目錄與某些文件,你需要一定的角色才能夠訪問它們。
在登錄前是否可以保護我的SPA不被訪問?
或者有沒有更好的解決方案,你會得到一個受保護的api,服務器上的文件夾/文件,SPA以及OIDCClient中的靜默更新機制?
問題問:基於令牌的認證API和Javascript,您可以保護其他客戶端文件不被訪問嗎?
如果你會使用類似的設置如下面的例子:
是否可以保護其他客戶方文件被訪問?說例如我有一個目錄與某些文件,你需要一定的角色才能夠訪問它們。
在登錄前是否可以保護我的SPA不被訪問?
或者有沒有更好的解決方案,你會得到一個受保護的api,服務器上的文件夾/文件,SPA以及OIDCClient中的靜默更新機制?
@dmccaffery幫我解答了我的問題,這裏是他對那些有興趣的人的回答。
總而言之,使用SPA的OIDCClient無疑是最佳選擇。公開需要授權的東西應該通過使用API來完成。保護您的Angular App的一部分可以使用Route guard來完成。
它的工作方式如下:
訪問令牌可以是一個JWT或承載令牌(通常)和是 由OIDC客戶端一個授權 報頭添加到每個HTTP請求 - 當Web API收到請求時,授權中間件將解析此HTTP標頭,並將調用標記內省端點(以及潛在的用戶信息端點) 令標記生效並檢索用戶聲明...如果 令牌由客戶端操作,它不會有效,並且是HT將返回TP 錯誤(通常爲403)。如果令牌有效,則會創建一個 聲明標識並將其分配給http請求上下文。 API現在將擁有一個線程,該線程已分配給代表該用戶的 。
此外,他指出,2門pluralsight課程,很可能是有用的: https://www.pluralsight.com/courses/building-securing-restful-api-aspdotnet https://www.pluralsight.com/courses/oauth2-openid-connect-angular-aspdotnet