通过使用数据库中的数据更新Claim进行授权(托管Blazor WebAssembly ASP.NET Core)

问题描述 投票:0回答:1

我对使用托管的Blazor WebAssembly ASP.NET Core在Web应用程序中进行身份验证有疑问。使用的数据库是Azure SQL。

我想避免在数据库中存储密码,因此用户只能使用Microsoft帐户(与项目有关)。

截至目前,用户使用Azure AD作为第三方身份验证提供程序登录。重定向回Web应用程序后,将创建一个用户,该用户的声明仅包含来自Azure的电子邮件。将用户定向到注册页面,在该页面中,电子邮件输入设置为当前的用户声明电子邮件。当用户单击注册按钮时,提供的信息现在存储在数据库中。

问题是我现在在数据库中有一个用户,但是声明仍然只是电子邮件。我希望能够在不同页面上使用AuthorizeView role标记,因此想知道是否可以使用用户在注册页面中指定的角色来更新声明?此时,此数据仅存储在数据库中。

如果这是一个不好的做法,我还有其他类似的方法可以使它起作用吗?

authentication asp.net-core blazor webassembly claims-authentication
1个回答
0
投票
profile范围应返回角色声明。

文档Secure an ASP.NET Core Blazor WebAssembly standalone app with Azure Active Directory说明如何从Azure AD请求范围

© www.soinside.com 2019 - 2024. All rights reserved.