gpt4 book ai didi

Azure AD B2C 自定义策略 : REST technical profile validation doesn't work

转载 作者:行者123 更新时间:2023-12-03 03:49:29 24 4
gpt4 key购买 nike

我创建了一个用于在 Azure AD B2C 上注册的自定义策略,目的是只允许电子邮件被列入白名单的用户能够注册到系统中。

为此,我使用 REST 技术配置文件配置了自定义策略。

我遵循了这个指南:https://learn.microsoft.com/en-us/azure/active-directory-b2c/custom-policy-rest-api-claims-exchange?pivots=b2c-custom-policy

关联的 Web 服务接收想要注册的用户的电子邮件,并验证该用户的电子邮件地址是否属于已列入白名单的电子邮件列表的一部分。如果不是,我会返回以下格式的消息:

{
"userMessage": "Sorry, this email is not whitelisted",
"status": 409,
"version": "1.0.0"
}

如果电子邮件是白名单的一部分,我会返回:

{
"emailValue": "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="e885918d85898184a88d85898184c68b8785" rel="noreferrer noopener nofollow">[email protected]</a>",
"isWhiteListed": true
}

这是我的用户旅程(在 Signup.xml 文件中):

  <UserJourneys>
<UserJourney Id="SignUp">
<OrchestrationSteps>

<OrchestrationStep Order="1" Type="ClaimsExchange">
<ClaimsExchanges>
<ClaimsExchange Id="SignUpWithLogonEmailExchange" TechnicalProfileReferenceId="LocalAccountSignUpWithLogonEmail" />
</ClaimsExchanges>
</OrchestrationStep>

<!-- This step reads any user attributes that we may not have received when in the token. -->
<OrchestrationStep Order="2" Type="ClaimsExchange">
<ClaimsExchanges>
<ClaimsExchange Id="AADUserReadWithObjectId" TechnicalProfileReferenceId="AAD-UserReadUsingObjectId" />
</ClaimsExchanges>
</OrchestrationStep>

<OrchestrationStep Order="3" Type="ClaimsExchange">
<ClaimsExchanges>
<ClaimsExchange Id="RESTEmailWhitelist" TechnicalProfileReferenceId="REST-EmailWhitelist" />
</ClaimsExchanges>
</OrchestrationStep>

<OrchestrationStep Order="4" Type="SendClaims" CpimIssuerTechnicalProfileReferenceId="JwtIssuer" />

</OrchestrationSteps>
<ClientDefinition ReferenceId="DefaultWeb" />
</UserJourney>
</UserJourneys>

问题是,即使在电子邮件未列入白名单的情况下返回 409 错误,它仍然可以在 Azure AD B2C 中成功创建。

如何防止用户帐户创建成功?

最佳答案

您可能会运行“AAD-UserwriteUsingEmail”验证技术配置文件两次,一次在 REST 调用之前,一次在 REST 调用之后。删除 LocalAccountSignUpWithLogonEmail 技术配置文件中基本文件中的验证技术配置文件。然后将验证技术配置文件(AAD-userWriteUsingEmail 和 REST API)按正确的顺序(REST 然后写入)放入扩展文件中的 LocalAccountSignUpWithLogonEmail 技术配置文件中。

关于Azure AD B2C 自定义策略 : REST technical profile validation doesn't work,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67367092/

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