gpt4 book ai didi

azure - 将 Azure AD B2C 与 Azure 移动应用结合使用时,如何设置密码策略?

转载 作者:行者123 更新时间:2023-12-02 06:48:36 25 4
gpt4 key购买 nike

在 Azure AD B2C 中,“注册/登录”和“密码重置”有单独的策略。我复制“注册/登录”策略的元数据端点

enter image description here

并将其粘贴到 Azure 应用程序身份验证

enter image description here

这基本上可以工作,但是没有地方可以放置包含密码重置模板的密码重置元数据。我认为因此,当您单击“忘记密码”时,您最终会看到

You do not have permission to view this directory or page.

尝试访问/xxx.onmicrosoft.com/B2C_1_b2c_sign_up_sign_in/api/CombinedSigninAndSignup/forgotPassword?csrf_token=xxx&p=B2C_1_b2c_sign_up_sign_in 时位于 ~/.auth/login/aad/callback

为什么没有登录/注册/密码重置?

enter image description here

此外,另一个奇怪的事情是点击“创建新帐户”。

enter image description here

如果按“取消”,则会再次进入回调需要权限页面。

我下载了策略,密码重置有以下内容,但登录中没有

<UserJourneys>
<UserJourney Id="B2CPasswordResetV1">
<OrchestrationSteps>
<OrchestrationStep Order="1" Type="ClaimsProviderSelection" ContentDefinitionReferenceId="api.idpselections">
<ClaimsProviderSelections>
<ClaimsProviderSelection TargetClaimsExchangeId="PasswordResetUsingEmailAddressExchange" />
</ClaimsProviderSelections>
</OrchestrationStep>
</OrchestrationSteps>
</UserJourney>
</UserJourneys>
<RelyingParty>
<DefaultUserJourney ReferenceId="B2CPasswordResetV1" />
<TechnicalProfile Id="PolicyProfile">
<DisplayName>PolicyProfile</DisplayName>
<Protocol Name="OpenIdConnect" />
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="objectId" />
<OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub" />
<OutputClaim ClaimTypeReferenceId="emails" />
<OutputClaim ClaimTypeReferenceId="displayName" />
<OutputClaim ClaimTypeReferenceId="trustFrameworkPolicy" Required="true" DefaultValue="{policy}" />
</OutputClaims>
<SubjectNamingInfo ClaimType="sub" />
</TechnicalProfile>
</RelyingParty>

更新。我刚刚发现了这个

When you create a sign-up or sign-in policy (with local accounts), the consumer will see a "Forgot password?" link on the first page of the experience. Clicking on this link doesn't automatically trigger a password reset policy. Instead a specific error code AADB2C90118 is returned back to your app. Your app needs to handle this and invoke a specific password reset policy. A sample that demonstrates this approach of linking together policies is here.

看起来它被发布到回调。所以看来 zumo 回调无法处理该错误。如果 zumo 回调获得 state/code/id_token,则完成。

enter image description here

最佳答案

遗憾的是,针对 B2C 的集成应用服务支持不允许您的应用处理错误回调以重定向到您的重置密码策略。此时您的选择是:

  1. 使用自定义 CSS 删除重置密码链接或
  2. 在 web.config 中配置自定义错误处理程序,用于处理错误并允许最终用户通过将其重定向到 /.auth/login/aad?p=B2C_1_B2CPasswordResetV1 来调用您的密码重置策略。

我在这篇博文评论中写了一个#2 的快速示例:https://cgillum.tech/2016/08/10/app-service-auth-and-azure-ad-b2c-part-2/#comment-581

这是我分享的 web.config 片段,它展示了如何处理此错误并重定向到移动后端上的静态页面:

<configuration>
<system.webServer>
<httpErrors defaultResponseMode="File" errorMode="Custom" >
<clear />
<error statusCode="401" subStatusCode="73" path="MyPage.html" />
</httpErrors>
<system.webServer>
</configuration>

还可以使用其他响应模式,包括ExecuteURL重定向。根据您的需要,其中之一可能比我使用文件的示例更合适。有关 IIS 自定义错误的更多详细信息,请访问:https://www.iis.net/configreference/system.webserver/httperrors#005 .

关于azure - 将 Azure AD B2C 与 Azure 移动应用结合使用时,如何设置密码策略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42643203/

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