2017-06-23 100 views
0

就像條紋帳戶一樣,用戶(人)有權訪問1個或多個帳戶(企業帳戶)。IdentityServer4:您如何檢查訪問令牌是否具有給定訪問令牌的權限?

  • 用戶Alice有完整的讀取和企業X寫入權限,Y,Z
  • 用戶Bob已經閱讀只能訪問企業X。

賬戶access_token_b的Bob想要通過API更新賬戶資料。

使用IdentityServer4,您如何驗證bob的帳戶access_token_b是否有權通過API控制器更新帳戶配置文件?

回答

0

您需要使用自己的API來管理帳戶。 Identity Server(開放標識連接)API並不意味着修改(管理)帳戶。他們只是處理拼圖的認證部分。您應該使用aspnet標識庫來存儲和修改用戶。還有一些工具,如IdentityManager,其中包含用於用戶管理的UI。

因此,在創建帳戶管理API(或使用IdentityManager之類的工具)後,您需要驗證傳入的訪問令牌,然後檢查令牌內的聲明以查看令牌所有者授予的權限。基於此,您需要授權用戶只修改他有權訪問的帳戶。然後使用用戶管理庫(大多數情況下是asp.net標識)來更新帳戶。