场景简介

增强认证是在二次认证基础上,进一步提升认证体验。在主认证完成之后,如果存在二次认证,会优先进行二次认证,之后会进行增强认证。

前置步骤

  1. 在实际集成之前,我们要确保已经进行过开发准备
  2. 在控制台创建测试用户,并配置好增强认证,参考产品手册

流程图

流程图

集成步骤

1、实现主认证

参考典型场景用户名密码认证

2、实现增强认证

开启增强认证,需要首先在服务端进行配置,集成方式与二次认证相同,可以把增强认证看做一种特殊的二次认证。 增强认证与二次认证的区别在于,增强认证是满足相应的触发条件之后执行的,因此在回调增强认证的情况时,会在Message中带上相应的触发条件。我们可以通过这个触发条件来判断是增强认证还是二次认证。

/**
 * 主认证成功,但需要辅助认证(下一步认证)
 *
 * @param nextAuthType 下一步认证类型
 * @param msg  下一步认证信息
 */
- (void)onAuthProcess:(SFAuthType)nextAuthType message:(BaseMessage *)msg {
    NSLog(@"BasicSceneViewController onAuthProcess:%ld, msg:%@", (long)nextAuthType, msg.errStr);
    [MBProgressHUD hideHUDForView:self.view animated:YES];
    /**
     * 服务端配置了首次登陆强制修改密码,或者其他二次认证及增强认证时,认证时会回调此方法,
     * 此时如果不打算适配二次认证,建议给用户提示,让管理员调整配置
     */
    if (msg.enhanceAuthTips != nil && msg.enhanceAuthTips.count != 0) {
        // 增强认证类型
        [AlertUtil showAlert:[NSString stringWithFormat:@"目前处于增强认证,暂不支持此种认证类型(%ld)", (long)nextAuthType] message:@"目前处于增强认证"];
    } else {
        // 非增强认证
        [AlertUtil showAlert:[NSString stringWithFormat:@"目前不处于增强认证,暂不支持此种认证类型(%ld)", (long)nextAuthType] message:@"管理员请关掉此认证"];
    }

}

msg.enhanceAuthTips里面存放了相关的触发条件,可以用于给用户提示。

3、注意事项

增强认证不触发的场景: 1.未满足控制台触发条件 2.二次认证与增强认证相同。如二次认证为totp认证,增强认证也为totp认证,则增强认证不会触发,只触发一次。

4、认证成功

主认证成功后,如果管理员未配置二次认证,就会执行onAuthSuccess回调,至此整个认证流程就结束了,认证成功后,应用就可以正常的访问aTrust管理员配置的内网服务器资源, 执行业务代码

示例代码如下:

   /**
    * 认证成功的回调
    * @param msg 认证成功的信息
    */
- (void)onAuthSuccess:(BaseMessage *)msg {
    //认证成功的业务
}

5、认证失败

如果有认证失败的情况,会执行onAuthFailed回调, 在该回调中提示用户,重新开始认证

示例代码如下:

/**
 * 认证失败的回调
 *
 * @param msg 错误信息
 */
- (void)onAuthFailed:(BaseMessage *)msg {
    // 重新开始认证或者其他逻辑
}

results matching ""

    No results matching ""