gpt4 book ai didi

azure - 密码重置自定义策略中输出自定义属性

转载 作者:行者123 更新时间:2023-12-02 08:04:43 24 4
gpt4 key购买 nike

我有一个自定义的密码重置策略。 Azure B2C 上的自定义策略入门包随附的策略。我希望它输出我已经定义的两个自定义属性。我使这些属性与自定义注册/登录和 edif 配置文件一起使用,执行这些策略后我可以在 jwt 中看到它们。但我不知道如何使用密码重置策略输出它们。是否可以?或者用户必须登录才能使其工作?

提前致谢!

最佳答案

您可以通过在步骤 2 的“LocalAccountWritePasswordUsingObjectId”技术配置文件保存密码之后、在步骤 2 的“JwtIssuer”技术配置文件发布 JWT 之前向“PasswordReset”用户旅程添加新的编排步骤来实现此目的3.

这个新的编排步骤通过调用“AAD-UserReadUsingObjectId”技术配置文件来读取用户,包括自定义声明:

(我假设您已将自定义声明作为 <OutputClaim /> 添加到此技术配置文件中。)

<UserJourney Id="PasswordReset">
<OrchestrationSteps>
<OrchestrationStep Order="1" Type="ClaimsExchange">
<ClaimsExchanges>
<ClaimsExchange Id="PasswordResetUsingEmailAddressExchange" TechnicalProfileReferenceId="LocalAccountDiscoveryUsingEmailAddress" />
</ClaimsExchanges>
</OrchestrationStep>
<OrchestrationStep Order="2" Type="ClaimsExchange">
<ClaimsExchanges>
<ClaimsExchange Id="NewCredentials" TechnicalProfileReferenceId="LocalAccountWritePasswordUsingObjectId" />
</ClaimsExchanges>
</OrchestrationStep>
<OrchestrationStep Order="3" Type="ClaimsExchange">
<ClaimsExchanges>
<ClaimsExchange Id="AADUserReadWithObjectId" TechnicalProfileReferenceId="AAD-UserReadUsingObjectId" />
</ClaimsExchanges>
</OrchestrationStep>
<OrchestrationStep Order="4" Type="SendClaims" CpimIssuerTechnicalProfileReferenceId="JwtIssuer" />
</OrchestrationSteps>
<ClientDefinition ReferenceId="DefaultWeb" />
</UserJourney>

然后,您必须将自定义声明添加为 <OutputClaim /> “PasswordReset”依赖方策略:

<RelyingParty>
<DefaultUserJourney ReferenceId="PasswordReset" />
<TechnicalProfile Id="PolicyProfile">
<DisplayName>PolicyProfile</DisplayName>
<Protocol Name="OpenIdConnect" />
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="email" />
<OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub" />
<OutputClaim ClaimTypeReferenceId="myCustomClaim1" />
<OutputClaim ClaimTypeReferenceId="myCustomClaim2" />
</OutputClaims>
<SubjectNamingInfo ClaimType="sub" />
</TechnicalProfile>
</RelyingParty>

关于azure - 密码重置自定义策略中输出自定义属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47019161/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com