我想用IdentityServer4爲我的API資源定義2個不同的作用域,類似於:https://identityserver4.readthedocs.io/en/release/configuration/resources.html#defining-api-resources。有一個端點我希望我的客戶端應用程序在不需要用戶登錄的情況下點擊,其餘端點將通過用戶交互(混合流程fwiw)得到充分保護。IdentityServer4並使用多個作用域
我想我可以得到它的工作,所以無論是流提供訪問API。我感到困惑的是上面演示的配置,我如何限制客戶端證書流只有一個有限的範圍?我不希望該流程能夠達到API的全部範圍。只有用戶登錄後才能訪問其餘的API ...... API的另一個「範圍」...
這是針對本機/移動應用程序的,因此客戶機憑據的客戶機密將爲嵌入在應用程序中。這就是爲什麼API的其他部分需要更好的保護。但是將IdentityServer4配置爲允許這兩種資源的授權類型都不會有人能夠發現該客戶端密鑰,並在原生應用程序之外使用它來訪問其餘的API呢?如何將授權類型限制爲更受限制的範圍...?
瞭解子(Subject id)聲明。我很困惑你的意思是用範圍來區分客戶,直到我看到某個範圍實際上只是成爲索賠。然後這是有道理的。我會給它一個鏡頭! – DennisWelu
進一步思考......這裏列出的兩個不同範圍的價值是什麼:http://docs.identityserver.io/en/release/configuration/resources.html#defining-api-resources。這些如何在服務端點「執行」? – DennisWelu
在我腦海中混合了ApiResource和Client類。並找到了更詳細的範圍說明,包括如何執行:https://leastprivilege.com/2015/12/28/validating-scopes-in-asp-net-4-and-5/。有2個客戶再次合理。每個客戶端映射到1 ApiResource中定義的不同範圍。正在進行中... – DennisWelu