Skip to content
Go to Dashboard

安全设置

配置 Web 安全域

路径:安全设置->通用安全->基础安全

INFO

免费版暂不支持此功能。

对于 Web 应用来说,存在 userPoolId/secret 被盗取的风险,所以我们需要做一些特别的防御措施。关键点是,我们要能够保证其他人获取到你的 userPoolId ,也无法直接使用你的服务器资源。Web 端可以通过 Web 安全域名 来对请求来源做限制,可以简单的防御住 Web 的服务器资源盗取。

设置 安全域(CORS) 后,仅可在该域名下通过 JavaScript SDK 调用服务器资源。注意:域名配置策略与浏览器域安全策略一致,要求域名协议、域和端口号都需严格一致,不支持子域和通配符,否则会导致访问被禁止。举例说明一下域名的区别:

// 跨域
www.a.com:8080
www.a.com

// 跨域
www.a.com:8080
www.a.com:80

// 跨域
a.com
www.a.com

// 跨域
xxx.a.com
www.a.com

// 不同协议,跨域
http:
https:

这样就可以防止其他人通过外网其他地址盗用你的服务器资源。但是要注意,Web 安全域名所能达到的目的是防御恶意部署,而不是防御伪造脏数据(恶意用户通过绑定 host 方式还是有可能访问到应用的数据),所以要想对数据进行更多细粒度的控制,需要配合 ACL 来使用。

在 WebView 中使用,建议通过 WebView 去加载一个部署好的、有域名的 Web,然后缓存在本地,这样可以通过 Web 安全域名来做限制。

如果在前端使用 JavaScript SDK,当你打算正式发布出去的时候,请务必配置 Web 安全域名。

配置注册频率限制

路径:安全设置->通用安全->注册安全

INFO

免费版暂不支持此功能。

你可以在控制台开启 频繁注册限制 开关,限制同一个 IP 在多少秒内不能超过多少次注册:

配置登录失败次数限制

路径:安全设置->通用安全->登录安全

INFO

免费版暂不支持此功能。

你可以在控制台开启 登录失败次数限制 开关,限制同一账号在多少秒内不能超过多少次失败登录:

若在规定时间内超过次数后,该用户再次登录需要输入图形验证码:

密码安全

路径:安全设置->密码安全

INFO

有关支持「密码安全」功能各项权益的 GenAuth 用户池版本信息,请查看 官网「价格」页。如你的版本不支持此权益,且想试用,可开通体验期。有关体验期介绍及开通方式,请查看 体验期

密码关系着企业和用户的信息安全。系统会要求用户在注册、修改密码时,密码必须满足一定的复杂度。

此外,企业可能包含不同的用户群体:内部员工、外包员工、合作伙伴等,不同群体需要不同的密码规则。GenAuth 支持对不同的主体配置差异化的密码策略,以及通过上下移动策略顺序调整执行优先级。同时,也支持通过 自定义密码加密方法 来兼容历史系统的用户密码摘要加密逻辑,做到和原有系统密码策略完美兼容。

INFO

配置将对所有应用生效。

序号 元素 说明 1 创建密码策略

  • 点击该按钮可新建密码策略。
  • 最多可创建 30 条密码策略(含默认策略);达到上限后,该按钮置灰。 2 密码策略 展示密码策略列表,包括系统默认策略及管理员所建策略。 3 自定义密码加密方法 兼容历史系统的用户密码摘要加密逻辑。 4 执行顺序 由上至下执行密码策略,可通过按住左侧图标(鼠标悬浮时可见)拖动调整策略的执行顺序。 5 状态 新建一条密码策略后,该策略默认开启。可根据需要关闭,关闭后,当前策略不会执行。 6 删除 点击 操作 列更多按钮可删除当前选中的密码策略。注意:
  • 删除后将无法恢复,请谨慎操作!
  • 如当前策略的应用主体被全部删除,则系统会自动删除该策略。 7 默认策略
  • 默认策略对所有用户主体生效,全局适用。
  • 默认不检测密码强度。
  • 可点击进入策略详情修改 密码强度密码轮换策略
  • 默认策略置于策略列表底部,不可调整顺序,不可关闭,不可删除。

密码策略

要为主体配置密码策略,执行以下步骤:

  1. 密码安全 页点击页面右上角 创建密码策略 按钮。打开 创建密码策略 页面。

  2. 基础信息 模块填写 策略名描述

INFO

密码策略名必须唯一。 描述 最多 200 字符。

  1. 策略应用主体 模块选择 策略应用主体类型

INFO

可以按照 用户组织机构(toE可选)、分组 来筛选主体。

  1. 选择 策略应用主体

INFO

  • 用户组织机构(toE可选)和 分组 的数据源分别来自 用户管理 中的 用户列表组织机构(toE可选)和 用户组管理
  • 支持选择同一类型下的多个主体。
  • 如已选主体在数据源中被删除,则该主体所在密码策略会联动删除该主体。
  1. 选择适用的密码强度(不作检测低强度中强度高强度自定义强度)。

INFO

  • 此处设置的密码强度适用于用户注册密码、用户重置密码和用户修改密码。
  • 默认不检测密码强度。
  • 对于自定义密码强度规则,需要在下方定义正则表达式,并输入密码错误提示。
  1. 检测密码 字段输入密码,检测该密码是否符合上方设置的密码强度规则。如符合,在输入框后显示绿色对钩;如不符合,在输入框后显示错误提示,需根据提示进行修改。

  2. 开启 用户登录密码强度检验 开关(默认关闭)。

INFO

开启后,在设置了较高密码强度规则的情况下,登录较低强度密码的账号,跳转进入密码修改页。

INFO

若用户在修改密码时,管理员同时提高了密码强度,页面会提示用户刷新页面重试。

  1. 设置密码轮换策略(默认关闭)。
  • 强制修改密码周期:超过选定周期,用户登录将强制修改密码。

  • 密码到期提示:临期内每天给用户发送一次邮件提醒,直到用户成功修改密码。

INFO

  • 用户登录必须修改密码。
  • 管理员可以在 品牌化->消息设置 中修改邮件模板。
  • 密码不可重复周期:选定周期内,用户修改密码、重置密码时,历史使用过的密码不可以再次使用。
  1. 点击 创建。新建的密码策略会显示在 密码安全->密码策略 列表顶部。

INFO

  • 修改已有密码策略时,下方为 保存重置 按钮。
  • 点击 重置,所有已修改未保存的配置将恢复至上一次保存后的状态。

自定义密码加密方法

如果你想自定义密码加密函数,请在此上传函数片段(目前仅支持 Node.js),函数模版请点击这里下载(GenAuth 不会存储用户的密码原文)。

此功能适用于以下场景:

  1. 你将所有用户迁移进了 GenAuth,但不想让用户修改密码;
  2. 你不信任 GenAuth 的密码加密算法,想使用自己的密码加密算法;

本文档介绍了如何配置密码加密函数。

配置步骤

路径:安全设置->密码安全->自定义密码加密方法

如下图所示:

INFO

自定义密码加密方法

下载模版

点击页面中的 下载模版 下载 Node.js 代码模版,模版代码如下所示:

js
var getRawBody = require("raw-body");

const encryptPassword = (password) => {
  // 在此编写加密密码的函数

  return password;
};

/**
 *
 * @param {String} password 明文密码
 * @param {String} encryptedPassword 密文密码
 */
const comparePassword = (password, encryptedPassword) => {
  // 在此编写校验密码的函数

  return password === encryptedPassword;
};

module.exports.encrypt = function (request, response, context) {
  // get request body
  getRawBody(request, function (err, body) {
    const queries = request.queries;
    const password = queries.password;

    if (!password) {
      response.setStatusCode(500);
      response.setHeader("content-type", "application/json");
      response.send(
        JSON.stringify(
          {
            message: "Please provide password via url query",
          },
          null,
          4
        )
      );
    }

    const respBody = {
      password: encryptPassword(password), // 在此加密密码
    };

    response.setStatusCode(200);
    response.setHeader("content-type", "application/json");
    response.send(JSON.stringify(respBody, null, 4));
  });
};

module.exports.validate = function (request, response, context) {
  // get request body
  getRawBody(request, function (err, body) {
    const queries = request.queries;
    const password = queries.password;
    const encryptedPassword = queries.encryptedPassword;

    if (!password) {
      response.setStatusCode(500);
      response.setHeader("content-type", "application/json");
      response.send(
        JSON.stringify(
          {
            message: "Please provide password via url query",
          },
          null,
          4
        )
      );
    }

    const respBody = {
      isValid: comparePassword(password, encryptedPassword), // 在此校验密码
    };

    response.setStatusCode(200);
    response.setHeader("content-type", "application/json");
    response.send(JSON.stringify(respBody, null, 4));
  });
};

编写代码

你需要在 encryptPassword 函数中编写相应的密码加密方法,以及在 vlidatePassword 函数中编写相应的验证密码加密方法。

若开发者需要引入第三方 NPM 包,请直接使用 NPM 直接安装。

INFO

NPM 是 Node.js 生态的包管理工具。

以下是引入 bcryptjs 包的一个代码示例:

haskell
$ npm install bcryptjs

安装完成后在文件夹内会多出一个 node_modules 文件夹,之后编写代码:

js
var getRawBody = require("raw-body");

const encryptPassword = (password) => {
  // Implement your login here.
  // Your can use bcrypt for example
  // more info here: https://github.com/kelektiv/node.bcrypt.js
  var bcryptjs = require("bcryptjs");
  var genSaltSync = bcryptjs.genSaltSync();
  return bcryptjs.hashSync(password, genSaltSync);
};

const vlidatePassword = (plainText, encrypted) => {
  // plainText is the plainText password use provide to be validate.
  // encrypted is user's password encryped in database.

  // Implement your login here.
  // Your can use bcrypt for example
  // more info here: https://github.com/kelektiv/node.bcrypt.js
  var bcryptjs = require("bcryptjs");
  return bcryptjs.compareSync(password, encryptedPassword);
};

上传函数至服务器

INFO

GenAuth 支持的代码包只能为 .js 格式或 .zip 格式。

若你没有引入任何包,可直接上传 .js 格式的模版文件;若你引入了包请连带 node_modules 一起打包为 .zip 格式并在 GenAuth 控制台中上传。

测试密码加密函数

上传成功后开发者可测试密码加密效果,如下所示,在输入框中输入原密码后点击「加密测试」即可看到加密后的密码(若未上传任何加密函数将显示 GenAuth 默认的密码加密结果)。

示例代码

注意事项

INFO

密码加密函数上传后即生效,会影响原用户,建议此功能在完全新的用户池中使用。

若你需要在旧用户池中修改密码加密函数,请联系 GenAuth 售后服务人员

多因素认证综述

INFO

有关支持「多因素认证」功能各项权益的 GenAuth 用户池版本信息,请查看 官网「价格」页。如你的版本不支持此权益,且想试用,可开通体验期。有关体验期介绍及开通方式,请查看 体验期

多因素认证(Multi Factor Authentication,简称 MFA)是一种非常简单的安全实践方法,能够在用户名称和密码之外再额外增加一层保护。启用 MFA 后,用户登录时,除了需要提供用户名和密码外(第一次身份验证),还需要进行第二次身份验证,多因素认证结合起来将为你的帐号和资源提供更高的安全保护。你可以在此了解什么是多因素认证

你可在本章节了解以下 MFA 认证信息:

基于短信验证码的 MFA

概述

多因素认证(MFA)是一种安全系统,是为了验证一项操作合法性而进行的二次身份验证。例如银行的 U 盾,异地登录要求手机短信验证。本文介绍的是基于短信验证码的多因素认证方式。

准备工作

角色:管理员

在开启短信验证码 MFA 前,执行以下准备工作:

  1. 注册一个 GenAuth 账号
  2. 创建用户池和应用

开启短信验证码 MFA

角色:管理员

开启应用级别短信验证码 MFA

INFO

要配置应用级别 MFA,必须在 应用->自建应用->应用详情->高级配置 中开启 自定义本应用的安全规则 开关,才会出现 安全管理 页签。

要开启应用级别短信验证码 MFA,执行以下步骤:

  1. 在控制台左侧导航菜单选择 应用->自建应用

  2. 在自建应用列表中选择需要开启短信验证码 MFA 的应用。

  3. 进入应用详情页,选择 安全管理,并在 多因素认证 模块开启 短信验证码 开关。

开启全局短信 MFA

要开启全局短信验证码 MFA,执行以下步骤:

  1. 在控制台左侧导航菜单选择 安全设置->多因素认证

  2. 多因素认证 模块开启 短信验证码 开关。

  3. 策略配置 模块选择适用的身份源,关闭其他不相关身份源的 MFA 开关。

使用短信验证码 MFA 登录

体验登录

角色:管理员

管理员要体验短信验证码 MFA,执行以下步骤:

  1. 在控制台左侧导航菜单选择 用户管理->用户列表,点击 创建用户 按钮通过 用户名/手机号/邮箱 方式创建一个用于短信验证码 MFA 登录的用户。

INFO

要启用短信验证码 MFA,必须为新增用户绑定手机号。

要绑定手机号,可在用户详情页 个人信息 模块点击下拉隐藏按钮填写手机号。

  1. 选择 应用->自建应用,点击目标应用详情页右上角 体验登录 按钮,使用上述创建的账号登录。

  2. 验证码登录 页面输入手机号及发送至手机的验证码,即可完成基于短信验证码的 MFA 验证流程。

用户登录

角色:普通用户

要在登录时执行短信验证码 MFA,执行以下步骤:

  1. 通过用户名/手机号/邮箱账号或者扫码登录。

  2. 在一次身份认证后,若用户尚未绑定手机号,系统弹出 绑定手机号 窗口,此时输入手机号。

INFO

若已绑定手机号,在一次身份认证后,会略过本步骤,要求你直接输入短信验证码。

  1. 输入手机获取的短信验证码。

提示完成认证,登录成功。

关闭短信 MFA

角色:管理员

要关闭短信验证码 MFA,可以在应用级别和全局分别关闭功能:

  • 关闭应用级别短信验证码 MFA:进入应用详情,选择 安全管理,在 多因素认证 模块关闭 短信验证码 开关。

  • 关闭全局短信验证码 MFA:选择 安全设置->多因素认证,在 多因素认证 模块关闭 短信验证码 开关。

基于邮件验证码的 MFA

概述

多因素认证(MFA)是一种安全系统,是为了验证一项操作合法性而进行的二次身份验证。例如银行的 U 盾,异地登录要求手机邮件验证。本文介绍的是基于邮件验证码的多因素认证方式。

准备工作

角色:管理员

在开启邮件验证码 MFA 前,执行以下准备工作:

  1. 注册一个 GenAuth 账号
  2. 创建用户池和应用

开启邮件验证码 MFA

角色:管理员

开启应用级别邮件验证码 MFA

INFO

要配置应用级别 MFA,必须在 应用->自建应用->应用详情->高级配置 中开启 自定义本应用的安全规则 开关,才会出现 安全管理 页签。

要开启应用级别邮件验证码 MFA,执行以下步骤:

  1. 在控制台左侧导航菜单选择 应用->自建应用

  2. 在自建应用列表中选择需要开启邮件验证码 MFA 的应用。

  3. 进入应用详情页,选择 安全管理,并在 多因素认证 模块开启 电子邮箱验证 开关。

开启全局邮件验证码 MFA

要开启全局邮件验证码 MFA,执行以下步骤:

  1. 在控制台左侧导航菜单选择 安全设置->多因素认证

  2. 多因素认证 模块开启 电子邮箱验证 开关。

  3. 策略配置 模块选择适用的身份源,关闭其他不相关身份源的 MFA 开关。

使用邮件验证码 MFA 登录

体验登录

角色:管理员

管理员要体验邮件验证码 MFA,执行以下步骤:

  1. 在控制台左侧导航菜单选择 用户管理->用户列表,点击 创建用户 按钮通过 用户名/手机号/邮箱 方式创建一个用于邮件验证码 MFA 登录的用户。

  2. 选择 应用->自建应用,点击目标应用详情页右上角 体验登录 按钮,使用上述创建的账号登录。

  3. 在一次身份认证后,若尚未绑定邮箱,系统打开 绑定邮箱 页面,此时输入邮箱地址。

INFO

若事先已在用户详情页 个人信息 模块下绑定邮箱,在一次身份认证后,会略过输入邮箱地址一步,要求你直接输入邮箱验证码。

  1. 输入邮箱获取的验证码。

提示完成认证,登录成功。

用户登录

角色:普通用户

要在登录时执行邮件验证码 MFA,执行以下步骤:

  1. 通过用户名/手机号/邮箱账号或者扫码登录。

  2. 在一次身份认证后,若用户尚未绑定邮箱,系统打开 绑定邮箱 页面,此时输入邮箱地址。

INFO

若已绑定邮箱,在一次身份认证后,会略过输入邮箱地址一步,要求你直接输入邮箱验证码。

  1. 输入邮箱获取的验证码。

提示完成认证,登录成功。

关闭邮件验证码 MFA

角色:管理员

要关闭邮件验证码 MFA,可以在应用级别和全局分别关闭功能:

  • 关闭应用级别邮件验证码 MFA:进入应用详情,选择 安全管理,在 多因素认证 模块关闭 电子邮箱验证 开关。

  • 关闭全局邮件验证码 MFA:选择 安全设置->多因素认证,在 多因素认证 模块关闭 电子邮箱验证 开关。

基于时间戳算法的一次性密码的 MFA

概述

多因素认证(MFA)是一种安全系统,是为了验证一项操作合法性而进行的二次身份验证。例如银行的 U 盾,异地登录要求手机短信验证。本文介绍的是一种随时间动态变化的六位数字口令构成的一次性密码(OTP)多因素认证方式。

准备工作

角色:管理员

在开启 OTP MFA 前,执行以下准备工作:

  1. 注册一个 GenAuth 账号

  2. 创建用户池和应用

开启 OTP MFA

角色:管理员

开启应用级别 OTP MFA

INFO

要配置应用级别 MFA,必须在 应用->自建应用->应用详情->高级配置 中开启 自定义本应用的安全规则 开关,才会出现 安全管理 页签。

要开启应用级别 OTP MFA,执行以下步骤:

  1. 在控制台左侧导航菜单选择 应用->自建应用

  2. 在自建应用列表中选择需要开启 OTP MFA 的应用。

  3. 进入应用详情页,选择 安全管理,并在 多因素认证 模块开启 OTP 口令 开关。

开启全局 OTP MFA

要开启全局 OTP MFA,执行以下步骤:

  1. 在控制台左侧导航菜单选择 安全设置->多因素认证

  2. 多因素认证 模块开启 OTP 口令 开关。

  3. 策略配置 模块选择适用的身份源,关闭其他不相关身份源的 MFA 开关。

使用 OTP MFA 登录

体验登录

角色:管理员

管理员要体验 OTP MFA,执行以下步骤:

  1. 在控制台左侧导航菜单选择 用户管理->用户列表,点击 创建用户 按钮通过 用户名/手机号/邮箱 方式创建一个用于 OTP MFA 登录的用户。

  2. 选择 应用->自建应用,点击目标应用详情页右上角 体验登录 按钮,使用上述创建的账号登录。

  3. 绑定 OTP。

  • 方法一:

a. 点击 确定,打开 MFA 绑定扫码窗口。

b. 在手机端下载并打开 Google Authenticator / Microsoft Authenticator APP(下文以 Microsoft Authenticator 为例添加 MFA。),点击右上角 + 按钮,选择 其他(Google、Facebook 等), 扫码添加 MFA。

扫码后,可以在 APP 的账户列表中查看到刚刚添加的 MFA。

c. 在电脑端输入该 MFA 上显示的动态口令,点击 下一步,备份密钥,勾选下方保存密钥提示,点击 下一步 完成确认绑定。

INFO

务必将这里展示的恢复代码妥善保存。如果以后丢失了 MFA、无法通过 MFA 口令登录,可使用这个密钥来恢复账号访问。

系统提示认证成功。

  • 方法二:

要绑定 OTP,执行以下步骤:

a. 访问 https://<你的应用域名>.genauth.ai 进行登录。然后访问 https://<你的应用域名>.genauth.ai/u ,点击页面右上角头像进入 个人中心

b. 选择 个人中心->账号安全->个人 MFA,点击 立即绑定 按钮绑定 MFA。

c. 在手机端下载并打开 Google Authenticator / Microsoft Authenticator APP(下文以 Microsoft Authenticator 为例添加 MFA。),点击右上角 + 按钮,选择 其他(Google、Facebook 等),扫描网页端控制台二维码。

扫码后,可以在 APP 的账户列表中查看到刚刚添加的 MFA 及生产的动态口令。

d. 在网页端点击 下一步,输入动态口令。

e. 备份密钥,勾选下方保存密钥提示,点击 下一步 完成确认绑定,点击 下一步

提示绑定成功。

用户登录

角色:普通用户

用户使用 OTP MFA 登录方法与管理员体验登录类似,可参考上述方法一和二。

如用户已完成 OTP MFA 的绑定,下次登录时可执行以下步骤:

  1. 访问 https://<你的应用域名>.genauth.ai。使用绑定过 MFA 的账号进行登录,在一次身份认证后,会提示输入安全码进行二次认证。
  1. 查看手机 Authenticator APP 输入动态口令,完成二次认证,进行登录。

解绑 OTP MFA

角色:普通用户

要解绑 Authenticator 和控制台的 MFA 绑定,执行以下步骤:

  1. 选择 个人中心->账号安全->个人 MFA

  2. 点击 立即修改 按钮。

  3. 在打开的 MFA绑定 页面右上角点击 解除绑定 按钮,并确认解绑。

提示解绑成功。

关闭 OTP MFA

角色:管理员

要关闭 OTP MFA,可以在应用级别和全局分别关闭功能:

  • 关闭应用级别 OTP MFA:进入应用详情,选择 安全管理,在 多因素认证 模块关闭 OTP 口令 开关。

  • 关闭全局 OTP MFA:选择 安全设置->多因素认证,在 多因素认证 模块关闭 OTP 口令 开关。

基于人脸识别的 MFA

概述

多因素认证(MFA)是一种安全系统,是为了验证一项操作合法性而进行的二次身份验证。例如银行的 U 盾,异地登录要求手机短信验证。本文介绍的是以识别用户独有的面部特征进行的多因素认证方式。

准备工作

角色:管理员

在开启人脸识别 MFA 前,执行以下准备工作:

  1. 注册一个 GenAuth 账号
  2. 创建用户池和应用

开启人脸识别 MFA

角色:管理员

开启应用级别人脸识别 MFA

INFO

要配置应用级别 MFA,必须在 应用->自建应用->应用详情->高级配置 中开启 自定义本应用的安全规则 开关,才会出现 安全管理 页签。

要开启应用级别人脸识别 MFA,执行以下步骤:

  1. 在控制台左侧导航菜单选择 应用->自建应用

  2. 在自建应用列表中选择需要开启人脸识别 MFA 的应用。

  3. 进入应用详情页,选择 安全管理 页签,并在页面下方 多因素认证 模块开启 人脸识别 开关。

开启全局人脸识别 MFA

要开启全局人脸识别 MFA,执行以下步骤:

  1. 在控制台左侧导航菜单选择 安全设置->多因素认证

  2. 多因素认证 模块开启 人脸识别 开关。

  3. 策略配置 模块选择适用的身份源,关闭其他不相关身份源的 MFA 开关。

使用人脸识别 MFA 登录

体验登录

角色:管理员

INFO

Web 端和移动端都支持人脸识别 MFA,要求手机和电脑配有摄像头。

管理员要体验人脸识别 MFA,执行以下步骤:

  1. 在控制台左侧导航菜单选择 用户管理->用户列表,点击 创建用户 按钮通过 用户名/手机号/邮箱 方式创建一个用于人脸识别 MFA 登录的用户。

  2. 选择 应用->自建应用,点击目标应用详情页右上角 体验登录 按钮,使用上述创建的账号登录。

  3. 在一次身份认证后,系统提示调用你的摄像头,点击 允许 打开摄像头进行认证。

用户登录

角色:普通用户

要在登录时执行人脸识别 MFA,执行以下步骤:

  1. 通过用户名/手机号/邮箱账号或者扫码登录。

  2. 在一次身份认证后,系统提示调用你的摄像头,点击 允许 打开摄像头进行认证。

INFO

人脸识别 MFA 认证可能会持续数秒,请耐心等待。认证完成后会提示成功。

关闭人脸识别 MFA

角色:管理员

要关闭人脸识别 MFA,可以在应用级别和全局分别关闭功能:

  • 关闭应用级别人脸识别 MFA:进入应用详情,选择 安全管理,在 多因素认证 模块关闭 人脸识别 开关。
  • 关闭全人脸识别 MFA:选择 安全设置->多因素认证,在 多因素认证 模块关闭 人脸识别 开关。

通过 SDK 接入 MFA

概述

GenAuth 不仅可以通过控制台来配置 MFA 认证流程,你还可以通过 SDK 的方式为 GenAuth 的 MFA 认证流程进行定制化开发。

本文将以 GenAuth - Node/JavaScript SDK 为例,指引用户完成基于 SDK 的 MFA 自定义开发。

其中包含:绑定 MFA 认证器、解绑 MFA 认证器、用户二次认证等。

准备工作

  1. 注册一个 GenAuth 账号
  2. 创建用户池和应用

多因素认证(MFA)API

参考认证侧 API 文档

参考管理侧 API 文档

多因素认证(MFA)SDK

参考 SDK v2 文档

MFA 策略配置

路径:安全设置->多因素认证->策略配置

角色:管理员

GenAuth 支持在用户池级别配置针对不同的第三方身份源是否开启 MFA。

INFO

  • 策略配置 模块会展示 身份源管理 菜单下配置的所有身份源。配置 MFA 策略前,需确保用户池已配置目标身份源。
  • 该配置全局生效,不受自建应用自定义安全功能配置影响。
  • 当全局未开启任何一种 MFA 认证方式时,策略配置中所有展现的第三方身份源默认关闭。
  • 当全局开启一种或一种以上 MFA 认证方式时,每个身份源的默认状态切换为开启。
  • 当全局关闭某个身份源连接的开关时,在用户使用该身份源连接方式登录该用户池的所有应用时,都会跳过所有的 MFA 流程。
  • 当全局开启某个身份源连接开关时,则用户使用该身份源连接方式登录该用户池的所有应用时,需进行二次身份认证。