Umbraco - Duende 服务器 OpenIDconnect:InvalidOperationException

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

我有一个 Duende 服务器和一个 Web 客户端,OpendID 连接没有问题。我根据此链接https://docs.duendesoftware.com/identityserver/v7遵循了文档。 现在我正在尝试将 Umbraco Web 客户端与我的 Duende 服务器连接。 我遵循了这个解决方案https://github.com/jbreuer/Umbraco-OpenIdConnect-Example/tree/main 登录后, 在 UmbracoBuilderExtensions.cs 中 名称为 null ( rif.var name = Claims?.SingleOrDefault(x => x.Type == "user_displayname"); ) 在 UmbExternalLoginController.cs 中,loginInfo 为 null。 所以,我在浏览器中出现此错误 InvalidOperationException:名称值不能为空 一些想法? 塞尔吉奥

authentication umbraco openid duende
1个回答
0
投票

如果名称丢失,那么您需要进行一些声明映射。查看 ID 令牌内部并确定名称声明的名称是什么。

因此,如果名称声明名为“name”,则执行以下操作:

.AddOpenIdConnect(options =>
{
    ...
    options.TokenValidationParameters = new TokenValidationParameters
    {
        NameClaimType = "name",
        RoleClaimType = "role"
    };
    ...
}

您可以在我的博客文章中阅读有关此问题的更多信息:调试 ASP.NET Core 中的 OpenID Connect 声明问题

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