触发电子邮件验证

时间:2017-06-04 05:33:24

标签: azure-ad-b2c identity-experience-framework

我正在使用自定义政策。

所需的用户旅程是:

  1. 用户在屏幕1上输入电子邮件/密码。
  2. 在成功验证屏幕1后,用户被发送到屏幕2.在屏幕2中,用户必须输入发送到他们的电子邮件的代码。 (请注意,用户在注册时已经验证了该电子邮件)
  3. 我坚持让2上班。 目前的政策如下: 第1步输出电子邮件声明。

    第2步将电子邮件声明作为输入。

    在步骤2中,会显示一个带有预填充电子邮件的可编辑文本框。没有要求代码。但是,如果编辑了电子邮件,则会要求输入代码。

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        // Override point for customization after application launch.
        self.window = UIWindow(frame: UIScreen.main.bounds)
    
        let storyboard = UIStoryboard(name: "Main", bundle: nil)
    
        let initialViewController = storyboard.instantiateViewController(withIdentifier: "splashScreen")
    
        self.window?.rootViewController = initialViewController
        self.window?.makeKeyAndVisible()
        return true
    }
    

1 个答案:

答案 0 :(得分:1)

是的,这给我带来了很多麻烦,

我基本上使用声明转换来做到这一点

<InputClaimsTransformations>
   <InputClaimsTransformation ReferenceId="CopyClaimToreadOnly" />
</InputClaimsTransformations>
<InputClaims>
 <InputClaim ClaimTypeReferenceId="myAlreadyPopulatedClaim" />
 <InputClaim ClaimTypeReferenceId="myAlreadyPopulatedClaim-Readonly" />
</InputClaims>
<OutputClaims>
   <OutputClaim ClaimTypeReferenceId="myAlreadyPopulatedClaim-Readonly" 
PartnerClaimType="Verified.Email" />
 </OutputClaims>

控件不够聪明,无法意识到您填写了声明,并且您仍然希望进行验证,它希望在同一页面上执行电子邮件输入和验证,当您拆分它时,您必须执行此声明复制

希望这有帮助