对于www.example.com核心中托管的Blazor Wasm,用户。身份。名称为空asp.net。没有名称或电子邮件等声明。我使用的是Visual Studio的默认模板。services.AddIdentityServer().AddApiAuthorization<ApplicationUser, ApplicationDbContext>();
services.AddAuthentication().AddIdentityServerJwt();
我错过了什么吗?
如果您需要更多信息,请告诉我。
3条答案
按热度按时间z6psavjg1#
几个月来,我一直在为同样的问题而挣扎。在尝试了许多方法后,我终于找到了解决办法。
请让我知道这是否解决了问题。谢谢:)
6uxekuva2#
你的代码没有任何真实的意义。你没有在blazor应用程序中托管IdentityServer,而是有一个单独的专用服务来实现OpenIDConnect,并可以对用户进行身份验证和给予令牌。
在blazor应用程序中,通常使用这种类型的框架来配置身份验证:
有关详细信息,请参阅以下文章:How do I implement Blazor authentication with OpenID Connect?
ct2axkht3#
我在添加到Blazor WASM托管服务器项目的API控制器中也遇到了同样的问题。将此问题添加到我的
program.cs
文件中为我解决了这个问题:services.Configure<IdentityOptions>(options => options.ClaimsIdentity.UserIdClaimType = ClaimTypes.NameIdentifier);
来源:https://github.com/dotnet/AspNetCore.Docs/issues/17517