- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对 AAD B2C 自定义政策有一些疑问。所以这是我的问题,我想获取 newUser
属性,但我不太确定我做错了什么。
这是我的第一个解决方案,此技术配置文件的目的是注册部分,我尝试将 newUser
作为此处的 Output
声明。但我意识到它不起作用,因为它位于 SM-Noop
中。
<TechnicalProfile Id="NewUserAccountUpdatePrimaryDetails">
<DisplayName>Profile creation using read only email</DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.SelfAssertedAttributeProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
<Metadata>
<Item Key="IpAddressClaimReferenceId">IpAddress</Item>
<Item Key="ContentDefinitionReferenceId">api.localaccountsignup</Item>
<Item Key="language.button_continue">Next</Item>
<!-- Sample: Remove sign-up email verification -->
<Item Key="EnforceEmailVerification">False</Item>
</Metadata>
<InputClaimsTransformations>
<InputClaimsTransformation ReferenceId="CreateReadonlyEmailClaim" />
</InputClaimsTransformations>
<InputClaims>
<!--Sample: Set input the ReadOnlyEmail claim type to prefilled the email address-->
<InputClaim ClaimTypeReferenceId="readOnlyEmail" />
<InputClaim ClaimTypeReferenceId="country" />
<!-- Optional claims, to be collected from the user -->
<InputClaim ClaimTypeReferenceId="displayName" />
<InputClaim ClaimTypeReferenceId="givenName" />
<InputClaim ClaimTypeReferenceId="surName" />
<InputClaim ClaimTypeReferenceId="streetAddress" />
<InputClaim ClaimTypeReferenceId="city" />
<InputClaim ClaimTypeReferenceId="state" />
<InputClaim ClaimTypeReferenceId="postalCode" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="readOnlyEmail" Required="true" />
<OutputClaim ClaimTypeReferenceId="newPassword" Required="true" />
<OutputClaim ClaimTypeReferenceId="reenterPassword" Required="true" />
<OutputClaim ClaimTypeReferenceId="executed-SelfAsserted-Input" DefaultValue="true" />
<OutputClaim ClaimTypeReferenceId="authenticationSource" />
<OutputClaim ClaimTypeReferenceId="country" Required="true" />
<OutputClaim ClaimTypeReferenceId="displayName" Required="true"/>
<OutputClaim ClaimTypeReferenceId="givenName" Required="true"/>
<OutputClaim ClaimTypeReferenceId="surName" Required="true"/>
<OutputClaim ClaimTypeReferenceId="newUser" />
<!-- Optional claims, to be collected from the user -->
<OutputClaim ClaimTypeReferenceId="streetAddress" />
<OutputClaim ClaimTypeReferenceId="city" />
<OutputClaim ClaimTypeReferenceId="state" />
<OutputClaim ClaimTypeReferenceId="postalCode" />
</OutputClaims>
<ValidationTechnicalProfiles>
<ValidationTechnicalProfile ReferenceId="AAD-UserWriteUsingLogonEmail-ProfileUpdate" />
</ValidationTechnicalProfiles>
<UseTechnicalProfileForSessionManagement ReferenceId="SM-Noop" />
</TechnicalProfile>
现在,我尝试的第二个解决方案是将 newUser
声明为 RelyingParty
中的 Output
声明。
<RelyingParty>
<DefaultUserJourney ReferenceId="CheckPassReset" />
<UserJourneyBehaviors>
<SingleSignOn Scope="Tenant" />
<JourneyInsights TelemetryEngine="ApplicationInsights" InstrumentationKey="4b408c9c-6ef1-43db-82e7-6368e1fc1536"
DeveloperMode="true" ClientEnabled="false" ServerEnabled="true" TelemetryVersion="1.0.0" />
<ScriptExecution>Allow</ScriptExecution>
</UserJourneyBehaviors>
<TechnicalProfile Id="PolicyProfile">
<DisplayName>PolicyProfile</DisplayName>
<Protocol Name="OpenIdConnect" />
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="email" />
<OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub"/>
<OutputClaim ClaimTypeReferenceId="displayName" />
<OutputClaim ClaimTypeReferenceId="givenName" />
<OutputClaim ClaimTypeReferenceId="surname" />
<OutputClaim ClaimTypeReferenceId="newUser" />
<OutputClaim ClaimTypeReferenceId="tenantId" AlwaysUseDefaultValue="true" DefaultValue="{Policy:TenantObjectId}" />
</OutputClaims>
<SubjectNamingInfo ClaimType="sub" />
</TechnicalProfile>
</RelyingParty>
我哪里做错了?我在 Google 和 StackOverflow 中看到的大多数解决方案都与用户流
相关。我可能错过了一些东西,但我不知道是什么。
谢谢您的帮助!如果您需要更多信息,请告诉我。
最佳答案
在自定义策略入门包中,newUser
声明由创建用户的技术配置文件 (AAD-UserWriteUsingLogonEmail
) 生成:
<OutputClaim ClaimTypeReferenceId="newUser" PartnerClaimType="newClaimsPrincipalCreated" />
它正在针对 Graph API 运行写入操作,如果这创建了新用户,则 newClaimsPrincipalCreated
返回 true。然后,上述输出声明将其映射到 newUser
声明,然后您可以在以下步骤中使用该声明。
在您的示例中,AAD-UserWriteUsingLogonEmail-ProfileUpdate
听起来像是在更新用户的个人资料时完成的写入。如果在这种情况下用户已经存在,则 newUser
声明将始终返回 false。如果情况并非如此,您需要将 newUser
声明添加为输出声明。这看起来确实是一个密码重置流程,其中用户将始终存在。因此 newUser
始终为 false。
关于Azure AD B2C 自定义策略 : obtaining newUser attribute,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76437482/
我有一个结构错误的文件,我使用 while..read 循环将其转换为正确的结构 userid1:john doe smith:group1 userid2:jane doe smith:group2
我进行了简单的注册并向数据库添加了一个函数,当我尝试使用它时,我收到此错误 - TypeError: newUser.generateHash is not a function。我是护照新手,我想只
我发送变量 newUser来自 options.html至 background.html与 chrome.extension.getBackgroundPage()像这样 document.getE
我正在编写一个脚本,我想在数字 1 到 15 之间迭代,但希望它显示为 01 02 03 ... 13 14 15。基本上我想做的是使用 newusers 添加 15 个用户命令并将此脚本用作命令的
我很难用解析实现 newUser。我正在关注有关此注册 Parse 版本的教程。 为什么只有 password 有效而其他密码无效? self.actInd.startAnimating() var
我正在编写一个脚本,我想在数字 1 到 15 之间进行迭代,但希望将其显示为 01 02 03 ... 13 14 15。本质上,我想做的是使用 newusers 命令添加 15 个用户,并使用此脚本
我对 AAD B2C 自定义政策有一些疑问。所以这是我的问题,我想获取 newUser 属性,但我不太确定我做错了什么。 这是我的第一个解决方案,此技术配置文件的目的是注册部分,我尝试将 newUse
我正在尝试创建一个注册表单,它使用我的 DTO 和我的用户类中的字段。我不太确定要去做,可以使用一些帮助。 我有一个 User 类,如下所示: @Entity public class User ex
我是 Spring 新手,正在尝试为我的 Web 门户创建一个 RegisterController。当我在主页上按下“注册”按钮时,它会显示以下错误:“BindingResult 和 bean 名称
我有一个注册表单,我从前端提供电子邮件和密码,并从 typescript 提供活跃的 role_id 字段。我在控制台输出中变得活跃,但不是 role_id。我想如果我可以在 ts 文件的控制台输出中
当我尝试在模板上添加输入字段时,出现此错误 TypeError: self.context.newUser is undefined 这是组件 import { Component } from '@
我通常使用命令行,就像我们看到的那样: 然后突然间,我打开的所有其他终端都显示了这个奇怪的消息: This is the Z Shell configuration function for new
我正在按照关于如何设置 ssh key 并将其添加到 ssh 代理的 github 说明进行操作。但是在我输入 ssh-add -K ~/.ssh/id_rsa 之后进入终端,我收到此错误:/User
我是一名优秀的程序员,十分优秀!