我已將身份服務器3與成員身份重新啓動數據庫一起設置爲我的授權服務器,並且還開發了一個Web Api項目,該項目將由JavaScript Web應用程序訪問。身份服務器3隱式授予,基於角色的授權
使用隱式流程,客戶端可以登錄並獲取id_token和access_token。現在我有幾個問題,我將很感激一些詳細的答案:
id_token有什麼功能?獲得後,我可以用它做什麼?
用戶的角色作爲聲明(例如,「角色」,「管理員」的關鍵值)存儲在數據庫中。我現在如何執行基於角色的授權?這似乎是id_token包含這些聲明,但access_token沒有。當我沿着Api請求發送我的access_token作爲承載時,api如何知道發送用戶具有哪些角色?
在web API控制器,我想用於訪問用戶的信息:
變種用戶=用戶作爲ClaimsPrincipal;
使用此代碼,我無法獲得有關用戶的任何內容;用戶名,ID等。另外,當我在控制器中使用user.Claims
時,我無法訪問存儲在數據庫中的聲明。如何有兩組索賠,一個在數據庫中的一個在令牌中?
任何額外的信息,非常感謝。