2017-11-10 193 views
2

我们有3个不同的应用程序需要不同的扩展声明集。 应用A - 如权利要求A1,如权利要求A2,权利要求A3 应用B - 如权利要求B1,如权利要求B2,如权利要求B3Azure AD中的应用程序限制声明B2C

我们定义在TrustFrameworkExtensions六个权利要求,更新了各种TechnicalProfiles采取从用户的输入和以及写它到目录。

为了支持各个应用程序的需求,我们创建了2个RP文件,每个应用程序都有一个文件,并定义了特定于应用程序的用户旅程。

这6个索赔都显示为这两个应用程序,我们希望通过应用程序限制索赔。

试图复制一切从TrustFrameworkExtensions到RP文件时,RP不会加载和如下

无法上传的政策引发错误。原因:验证失败:在租户“XXXXXXXXX.onmicrosoft.com”的策略“B2C_1A_1182017SIGNUP_SIGNIN”中找到3个验证错误。

在租户“XXXXXXXXX.onmicrosoft.com”的策略“B2C_1A_1182017signup_signin”的TechnicalProfile中标识为“AAD-UserWriteUsingAlternativeSecurityId”的密钥为“ApplicationObjectId”的必需元数据项未找到。

租户“XXXXXXXXX.onmicrosoft.com”的策略“B2C_1A_1182017signup_signin”中的技术配置文件中标识为“AAD-UserWriteUsingLogonEmail”的技术配置文件中找不到具有键“ApplicationObjectId”的必需元数据项目。

一个必需的元数据项与键“ApplicationObjectId”未在ID为“AAD-UserWriteProfileUsingObjectId”的TechnicalProfile政策找到租客“B2C_1A_1182017signup_signin”“XXXXXXXXX.onmicrosoft.com”。

欣赏意见和指导,以支持具有不同声明的多个应用程序。

回答

0

使用<RelyingParty><TechnicalProfile><OutputClaims>来控制返回的索赔。

<RelyingParty> 
    <DefaultUserJourney ReferenceId="SignInAppA" /> 
    <TechnicalProfile Id="PolicyProfile"> 
     <DisplayName>PolicyProfile</DisplayName> 
     <Protocol Name="OpenIdConnect" /> 
     <OutputClaims> 
     <OutputClaim ClaimTypeReferenceId="ClaimA1" /> 
     </OutputClaims> 
     <SubjectNamingInfo ClaimType="sub" /> 
    </TechnicalProfile> 
</RelyingParty> 

<RelyingParty> 
    <DefaultUserJourney ReferenceId="SignInAppB" /> 
    <TechnicalProfile Id="PolicyProfile"> 
     <DisplayName>PolicyProfile</DisplayName> 
     <Protocol Name="OpenIdConnect" /> 
     <OutputClaims> 
     <OutputClaim ClaimTypeReferenceId="ClaimB1" /> 
     </OutputClaims> 
     <SubjectNamingInfo ClaimType="sub" /> 
    </TechnicalProfile> 
</RelyingParty> 
+1

谢谢你spottedman。当我制作RP文件时,我确实在各个RP文件中放入了特定于应用程序的声明,类似于该建议。它仍然没有工作。我有2个索赔和2个RP ......一个RP有两个索赔,另一个RP只有一个索赔。声明在本地帐户注册时显示。 –

+0

嗯......我在发帖之前测试了上面所以也许你不打电话给RP你认为你是? – spottedmahn

0

要在您的自定义策略扩展属性,你需要一些配置添加到您的文件涉及自动为每个创建并注册在门户网站的B2C的扩展,应用程序B2C租户。

在你的情况,你似乎缺少了B2C的扩展应用程序内的ApplicationObjectID和可能ClientIdAAD-Common技术简介的Metadata关键部分。

Create Custom Attribute文档的Next Steps部分介绍了如何执行此配置。

相关问题