簡體   English   中英

通過使用數據庫中的數據更新 Claim 進行授權(Blazor WebAssembly ASP.NET Core 托管)

[英]Authorizing by updating Claim with data from database (Blazor WebAssembly ASP.NET Core hosted)

我對使用 Blazor WebAssembly ASP.NET Core 托管的網絡應用程序中的身份驗證有疑問。 使用的數據庫是Azure SQL。

我想避免將密碼存儲在數據庫中,因此用戶只能擁有 Microsoft 帳戶(與項目相關)。

截至目前,用戶使用Azure AD作為第三方認證提供商登錄。 當重定向回網絡應用程序時,將創建一個用戶,其聲明僅包含來自 Azure 的 Email。用戶將被定向到注冊頁面,其中電子郵件輸入設置為當前用戶聲明 email。當用戶單擊注冊按鈕,提供的信息現在存儲在數據庫中。

問題是我現在在數據庫中有一個用戶,但聲明仍然只是 Email。我希望能夠在不同的頁面上使用AuthorizeView role標簽,因此想知道是否可以使用更新聲明用戶在注冊頁面中指定的角色? 此數據此時僅存儲在數據庫中。

如果這是一種不好的做法,還有其他類似的方法可以使這項工作成功嗎?

要使用AuthorizeView role ,角色聲明應由您的身份提供者(在您的情況下為 Azure AD)返回。 您的應用程序應該通過詢問相應的 scope 來詢問這些聲明。
根據文檔: Permissions and consent in the Microsoft identity platform endpoint配置文件scope 應該返回角色聲明。

文檔Secure an ASP.NET Core Blazor WebAssembly standalone app with Azure Active Directory解釋了如何從 Azure AD 請求范圍

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM