Microsoft Entra 外部 ID 自定义声明提供程序错误 1003003 CustomExtensionInvalidResponseBody

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

我的自定义声明提供程序失败,因为 “解析自定义扩展的响应正文时出现问题。检查 API 响应正文是否处于该自定义扩展类型可接受的架构中”

我想将

correlationId
(字符串)和
newUser
(布尔)添加到标记中。

根据文档,预期的有效负载是:

{
    "data": {
        "@odata.type": "microsoft.graph.onTokenIssuanceStartResponseData",
        "actions": [
            {
                "@odata.type": "microsoft.graph.tokenIssuanceStart.provideClaimsForToken",
                "claims": {
                    "DateOfBirth": "01/01/2000",
                    "CustomRoles": [
                        "Writer",
                        "Editor"
                    ]
                }
            }
        ]
    }
}

我检查了日志,我的 API 返回以下内容,这对我来说似乎是合规的(显然不同的声明):

{
    "data": {
        "actions": [
            {
                "claims": {
                    "correlationId": "9733d4a8-3c55-48e4-bc1c-7429560752d4",
                    "newUser": true
                },
                "@odata.type": "microsoft.graph.tokenIssuanceStart.provideClaimsForToken"
            }
        ],
        "@odata.type": "microsoft.graph.onTokenIssuanceStartResponseData"
    }
}

此外,here 是有关如何配置此功能的分步指南。我唯一偏离的一步是我的应用程序注册中没有激活隐式流程,据我所知,这仅与https://jwt.ms的测试目的相关。在我的 Entra 外部 ID 设置的其他部分中,文档中明确不鼓励激活这些部分。事实上,甚至没有在我的自定义声明提供程序 API 的应用程序注册中配置重定向 Uri,这甚至是不可见的。

有人知道为什么它总是失败吗?

microsoft-entra-id
1个回答
0
投票

现在正在工作。显然,自定义声明提供者不喜欢除

string
之外的任何属性类型。我删除了
newUser
声明,它是
bool
,现在它可以工作了。

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