Azure active directory Azure AD B2C上载自定义策略时出现内部错误

Azure active directory Azure AD B2C上载自定义策略时出现内部错误,azure-active-directory,azure-ad-b2c,Azure Active Directory,Azure Ad B2c,我遇到一个问题,即一组自定义策略在没有问题的情况下上载到一个租户(开发租户),却无法上载到另一个租户(生产租户)。策略在(工作)开发租户上正常运行 我按以下顺序上传文件: TrustFrameworkBase.xml上传OK TrustFrameworkExtensions.xml上传OK SignUpOrSignin.xml失败,出现上述错误 ProfileEdit.xml失败,出现上述错误 PasswordReset.xml上传OK 我唯一的线索是,如果我在B2C应用程序中查询失败租户的延

我遇到一个问题,即一组自定义策略在没有问题的情况下上载到一个租户(开发租户),却无法上载到另一个租户(生产租户)。策略在(工作)开发租户上正常运行

我按以下顺序上传文件:

  • TrustFrameworkBase.xml上传OK
  • TrustFrameworkExtensions.xml上传OK
  • SignUpOrSignin.xml失败,出现上述错误
  • ProfileEdit.xml失败,出现上述错误
  • PasswordReset.xml上传OK
  • 我唯一的线索是,如果我在B2C应用程序中查询失败租户的延期索赔,它只显示8个中的2个。如果我对工作租户运行相同的查询,它将显示所有8个。我正在使用以下示例应用进行此查询:

    据我所知,这两个租户的配置是相同的,我已经检查了各种ID等是否正确配置。但总有可能我错过了什么

    有人能帮忙吗

    xml文件:

    更多信息


    实际上,我可以运行带有错误的上载策略。但是,当我试图通过运行策略创建用户帐户时,我会收到一条消息,说“无法验证提供的信息”。在页面顶部,在id为claimVerificationServerError的
    内。这可能与B2C应用程序中缺少的扩展声明有关。因此,看起来问题在于创建扩展声明。但同样的策略会上载到另一个租户并对其生效。扩展声明如何在一个租户上有效,而在另一个租户上无效?

    需要按每个租户创建扩展属性。因此,如果您的策略需要扩展属性,则需要显式创建它们。

    扩展属性需要按租户创建。因此,如果您的策略需要扩展属性,则需要显式创建它们。

    在您的基本策略中,有以下dateOfBirth声明:

    <ClaimType Id="extension_DateOfBirth">
        <DisplayName>Date of Birth</DisplayName>
        <DataType>date</DataType>
        <UserHelpText>Date of birth</UserHelpText>
        <UserInputType>DateTimeDropdown</UserInputType>
        <PredicateValidationReference Id="DateOfBirthDateRange" />
    </ClaimType>
    
    
    出生日期
    日期
    出生日期
    日期时间下拉列表
    
    由于此声明以“extension_”开头,并在前缀为“AAD-”的技术配置文件中使用,因此在策略上载期间,它将自动创建为AAD中的扩展属性。但是,AAD中不支持数据类型“date”(仅支持DateTime)。这导致策略上载失败

    关于如何将B2C策略中的“date”声明映射到AAD“DateTime”属性,在对这些策略进行更多调查之后,我将回复此线程


    编辑:当我第一次回复时,我正试图查找此文档,但找不到它。谢谢分享。希望此链接有助于解决AAD中扩展属性的数据类型相关问题

    在您的基本保单中,有以下出生日期声明:

    <ClaimType Id="extension_DateOfBirth">
        <DisplayName>Date of Birth</DisplayName>
        <DataType>date</DataType>
        <UserHelpText>Date of birth</UserHelpText>
        <UserInputType>DateTimeDropdown</UserInputType>
        <PredicateValidationReference Id="DateOfBirthDateRange" />
    </ClaimType>
    
    
    出生日期
    日期
    出生日期
    日期时间下拉列表
    
    由于此声明以“extension_”开头,并在前缀为“AAD-”的技术配置文件中使用,因此在策略上载期间,它将自动创建为AAD中的扩展属性。但是,AAD中不支持数据类型“date”(仅支持DateTime)。这导致策略上载失败

    关于如何将B2C策略中的“date”声明映射到AAD“DateTime”属性,在对这些策略进行更多调查之后,我将回复此线程



    编辑:当我第一次回复时,我正试图查找此文档,但找不到它。谢谢分享。希望此链接有助于解决AAD中扩展属性的数据类型相关问题

    你能上传失败的策略吗?删除所有敏感信息并上传我会尝试的,谢谢。我只是试了一下,它超过了角色限制。。。我会看看是否可以链接到某个地方。我想你可以上传文件,只需上传你的问题。我已经链接到问题中的文档。我在那里看不到策略,你能重新检查吗?你能上传失败的策略吗?删除所有敏感信息并上传我会尝试的,谢谢。我只是试了一下,它超过了角色限制。。。我会看看是否可以链接到某个地方。我想你可以上传文件,只需上传你的问题。我已经链接到问题中的文档。我在那里看不到策略,你能重新检查吗?当我上传我的自定义策略时,扩展属性会在B2C扩展应用程序上自动创建。正如尹的回答。当我上传我的自定义策略时,扩展属性会在B2C扩展应用程序上自动创建。根据尹的回答。如果对任何人都有用,自定义策略模式允许在
    下键入
    日期
    。看见Azure AD Graph API没有,请参见此处的数据类型:。谢谢-回答得很好。你说得对。我刚刚尝试将
    数据类型
    更改为
    日期时间
    ,并且我能够毫无错误地上传策略。但是,在运行策略时,在点击“创建”后,注册页面冻结,不再继续。但用户是在B2C目录中创建的。我将数据类型改回了
    日期
    ——现在我可以毫无错误地上传策略,并运行策略。奇怪的我想这一定是我的开发租户的工作方式。谢谢你的努力-我发现在这些XML文件上倾诉真是让人头疼!很高兴看到它正在为你的房客工作,尽管它确实很奇怪。我认为这里的原因是与数据类型日期相关的故障只会在AAD中首次创建此属性。创建后,您可以在以下上载过程中将其从DateTime更改为Date。不存在由于没有属性创建行为而导致的失败。关于冻结的注册页面,原因可能是当前userInputType DateTimeDropdown仅适用于数据类型Date(我知道