登录自定义策略和 azure 函数

Sign in custom policies and azure function

我需要一些关于此示例的帮助:

https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-rest-api-step-custom

我需要做同样的事情,但使用登录策略,我需要使用 sql 数据库验证电子邮件并更改数据库中的状态列,如果电子邮件不是,and/or 阻止访问'不存在。

你有这方面的例子吗?

谢谢

P.D: 请原谅我的英语

除了您需要修改不同的 UserJourneyRelyingParty

,步骤将非常相似

更新 <UserJourney Id="SignUpOrSignIn"> as described in step 4.

更新 SignUpOrSignin.xml as described in step 5.

您指向的示例对于仅检索用户的其他声明而不是验证输入更有用。由于您正在验证电子邮件地址,因此此示例更相关:

Walkthrough: Integrate REST API claims exchanges in your Azure AD B2C user journey as validation on user input

这是我的建议:

  1. 在 Rest 后面托管您的数据库 API 以便调用它来验证电子邮件地址
  2. 使用 Web.TPEngine.Providers.RestfulProvider 创建技术配置文件,调用您的 Rest API(参见我上面链接的示例)
  3. ValidationTechnicalProfile 添加到收集电子邮件的 SelfAssertedAttributeProvider 技术配置文件,以便验证它并在验证失败时显示错误

通过添加这样的验证,用户将被一条错误消息阻止,并有机会修正输入(例如拼写错误)并重试。您还可以通过将它们添加到两个技术配置文件的 OutputClaims 中,从 Rest API 获得关于该电子邮件地址的其他声明。

您将需要确定这是否是更改数据库中标志的正确位置,或者这是否应该是一个单独的操作。原因是,如果用户进入用户旅程的下一步,然后放弃它,稍后再回来,他们的体验会怎样。

如果您希望它在用户旅程的后期作为一个单独的步骤,那么您可以使用您提供的示例创建它(即在用户旅程中执行所有必需的步骤之后作为一个单独的步骤)。