跳到主要内容

身份验证流程和管理员控制

OmniCRM 提供全面的身份验证功能,包括登录、双因素身份验证(2FA)、密码管理和用于管理用户安全的管理员控制。 本指南重点介绍最终用户和管理员的 UI 工作流程。

另请参见:自助门户 以获取客户登录和门户访问,RBAC 以获取员工权限。

概述

OmniCRM 身份验证包括:

  • 电子邮件/密码登录 - 标准凭据基础的身份验证
  • 双因素身份验证 (2FA) - 可选的基于 TOTP 的第二因素
  • 记住我 - 延长会话时间最长可达 30 天
  • 密码重置 - 通过电子邮件自助密码恢复
  • 管理员控制 - 用于重置 2FA 和密码的管理工具
  • 社交登录 - 可选的 Google、Apple、Facebook 集成(如果启用)
  • 基于角色的导航 - 根据用户角色自动路由

登录流程

登录页面是所有用户(员工和客户)的入口点。

标准登录

登录屏幕{.align-center width="800px"}

登录过程:

  1. 输入 电子邮件地址(员工或客户电子邮件)
  2. 输入 密码
  3. 可选:勾选 “记住我 30 天” 以延长会话
  4. 点击 “登录”

接下来发生什么:

  • 没有 2FA: 用户立即登录,基于角色导航:
    • 客户 → 自助门户 (/self-care)
    • 员工/管理员 → 客户仪表板 (/customers)
    • CBC 模式 → 单元广播界面 (/create-cell-broadcast)
  • 启用 2FA: 重定向到 2FA 验证屏幕

记住我功能:

启用时,会话持续 30 天,而不是在浏览器关闭时过期。使用安全的 HTTP-only cookies。

显示/隐藏密码:

点击 眼睛图标 (👁) 切换密码可见性。

使用 2FA 登录

如果用户启用了 2FA,在输入电子邮件/密码后,将出现 2FA 挑战屏幕:

双因素身份验证屏幕{.align-center width="800px"}

使用身份验证器代码:

  1. 打开身份验证器应用程序(Google Authenticator、Authy 等)
  2. 找到 OmniCRM 条目
  3. 输入 6 位数代码
  4. 输入所有 6 位数字时,代码自动提交
  5. 如果有效,用户登录并导航到相应的仪表板

使用恢复代码:

如果身份验证��应用程序不可用:

  1. 点击 “恢复代码” 选项卡
  2. 输入您保存的备份代码之一(例如,3fa5b9c2
  3. 点击 “验证”
  4. 代码被消耗(只能使用一次)

取消:

点击 “取消” 返回登录页面。

社交登录(可选)

如果启用(REACT_APP_ALLOW_SOCIAL_LOGINS=yes),社交登录按钮将出现:

[🔵 使用 Google 登录] [⚫ 使用 Apple 登录] [🔵 使用 Facebook 登录]

点击任何按钮通过该提供商进行身份验证。当前显示“即将推出”消息(社交登录实现正在进行中)。

忘记密码链接

点击 “忘记密码?” 链接以启动密码重置流程。

双因素身份验证 (2FA) 设置

用户可以启用 2FA 以增强帐户安全性。2FA 使用与标准身份验证器应用程序兼容的 TOTP(基于时间的一次性密码)。

访问 2FA 设置

从用户个人资料或设置:

客户注意事项:

客户角色用户不会看到 2FA 提示。2FA 通常仅对员工和管理用户要求。

第 1 步:确认密码

当前密码

[取消] [继续]

输入您的当前密码以继续。这在启用 2FA 之前验证您的身份。

第 2 步:扫描二维码

[取消] [确认]

设置说明:

  1. 下载身份验证器应用程序(如果您没有):
    • iOS:Apple App Store → “Google Authenticator”
    • Android:Google Play → “Google Authenticator”
    • 替代方案:Authy、Microsoft Authenticator、1Password
  2. 扫描二维码:
    • 打开身份验证器应用程序
    • 点击 “+” 或 “添加帐户”
    • 选择 “扫描二维码”
    • 将相机对准屏幕上的二维码
    • 应用程序添加带有 6 位数代码的 “OmniCRM” 条目
  3. 保存备份代码:
    • 关键: 记录或复制这 8 个代码
    • 存放在安全位置(密码管理器、安全箱等)
    • 每个代码仅限一次使用
    • 如果您失去对身份验证器应用程序的访问,则使用
    • 点击 “复制代码” 将所有代码复制到剪贴板
  4. 验证设置:
    • 输入来自身份验证器应用程序的当前 6 位数代码
    • 点击 “确认”
    • 如果有效,2FA 现在已启用

第 3 步:启用 2FA

成功消息出现:

从现在开始,登录需要密码和 2FA 代码。

2FA 设置界面

密码重置流程(自助服务)

忘记密码的用户可以通过电子邮件重置密码。

第 1 步:请求重置链接

从��录页面,点击 “忘记密码?”

密码重置请求{.align-center width="800px"}

  1. 输入 电子邮件地址
  2. 点击 “发送重置链接”

发生的事情:

  • 系统检查电子邮件是否存在于数据库中
  • 如果找到,通过 Mailjet 发送密码重置电子邮件
  • 电子邮件包含时间限制的重置链接(通常 1 小时过期)
  • 成功消息出现:“重置说明已发送到您的电子邮件”

如果未找到电子邮件:

错误消息:“未找到该电子邮件地址的帐户”

第 2 步:检查电子邮件

用户收到主题类似的电子邮件:

嗨 [姓名],

您请求重置 OmniCRM 帐户的密码。

点击下面的链接重置您的密码: <https://yourcompany.com/reset-password/abc123token456>

此链接在 1 小时内过期。

如果您没有请求此操作,请忽略此电子邮件。

点击重置链接以继续。

第 3 步:设置新密码

重置链接打开密码创建页面:

🔒(锁图标)

密码

确认密码

[重置密码]

  1. 输入 新密码
  2. 确认密码 字段中重新输入
  3. 点击 “重置密码”

密码要求:

  • 最小长度(通常 8 个字符以上)
  • 密码必须匹配

成功:

  • 成功消息:“密码已成功重置”
  • 自动重定向到登录页面
  • 用户现在可以使用新密码登录

过期/无效令牌:

如果重置链接过期或无效:

[请求新重置链接]

用户管理的管理员控制

具有适当权限的管理员可以从用户管理界面管理用户身份验证设置。

访问用户管理

显示所有用户的表格及操作按钮。

姓名 电子邮件 电话 操作 John Smith <john@example.com> +44 123... ✏️ 🗑️ 🔑 🛡️ Jane Doe <jane@example.com> +44 456... ✏️ 🗑️ 🔑 Bob Wilson <bob@example.com> +44 789... ✏️ 🗑️ 🔑 🛡️ ✉️

操作图标:

  • ✏️ 编辑 - 修改用户详细信息、角色、权限
  • 🗑️ 删除 - 删除用户帐户
  • 🔑 重置密码 - 生成临时密码
  • 🛡️ 重置 2FA - 禁用用户的 2FA(仅在启用 2FA 时显示)
  • ✉️ 发送欢迎电子邮件 - 重新发送欢迎电子邮件(仅在用户从未登录时显示)

管理员:重置用户密码

当用户忘记密码且管理员需要帮助时:

第 1 步:点击重置密码图标 (🔑)

确认模态框出现:

您确定要重置以下用户的密码吗��

用户:John Smith (<john@example.com>)

将生成并显示一个临时密码。用户必须在下次登录时更改此密码。

[取消] [重置密码]

第 2 步:确认重置

点击 “重置密码”。系统生成安全的临时密码。

第 3 步:显示临时密码

John Smith 的临时密码:

[📋 复制密码]

⚠️ 重要: • 通过安全渠道将此密码发送给用户 • 不要通过电子邮件或不安全的消息发送 • 用户将在下次登录时被迫更改密码

[关闭]

管理员操作:

  • 复制临时密码
  • 通过电话或安全方式与用户沟通
  • 口头提供临时密码
  • 指示用户登录并更改密码

用户体验:

当用户使用临时密码登录时:

  1. 登录成功
  2. 立即重定向到“更改密码”屏幕
  3. 必须在访问系统之前设置新密码
  4. 不能跳过密码更改

管理员:重置用户 2FA

当用户失去对身份验证器应用程序和所有备份代码的访问时:

第 1 步:点击重置 2FA 图标 (🛡️)

仅对当前启用 2FA 的用户显示。

确认模态框出现:

管理员重置用户 2FA 确认{.align-center width="600px"}

第 2 步:确认重置

点击 “重置 2FA”

第 3 步:确认

成功消息:

John Smith 现在可以仅使用其密码登录。他们可以从用户设置中重新启用 2FA。

用户体验:

  • 用户现在可以仅使用密码登录(不需要 2FA 代码)
  • 用户行中的 2FA 盾牌图标 (🛡️) 从管理员表中消失
  • 用户可以自愿从其设置中重新启用 2FA

重要安全注意事项:

在重置 2FA 之前,管理员应:

  1. 通过替代方式验证用户身份:
    • 政府身份证验证
    • 安全问题
    • 最近交易验证
    • 亲自验证(如适用)
  2. 在客户备注中记录重置
  3. 通知用户在恢复访问后重新启用 2FA

管理员:发送欢迎电子邮件

对于尚未收到或丢失欢迎电子邮件的用户:

可用时:

纸飞机图标 (✉️) 仅对 从未登录 的用户显示(login_count = 0)。

点击发送欢迎电子邮件图标 (✉️)

向以下用户发送欢迎电子邮件:

用户:Bob Wilson (<bob@example.com>)

电子邮件将包括: • 欢迎信息 • 登录说明 • 设置初始密码的链接(如适用) • 支持联系信息

[取消] [发送电子邮件]

点击 “发送电子邮件”

成功消息:

通过 Mailjet 发送���电子邮件:

使用模板:api_crmCommunicationUserWelcome

管理员:编辑用户

点击 编辑图标 (✏️) 修改用户详细信息:

名字

姓氏

电子邮件

电话号码

角色 ☑ admin ☐ customer_service_agent_1 ☐ customer

[取消] [保存更改]

可编辑字段:

  • 姓名、电子邮件、电话
  • 角色 - 分配/移除角色(影响权限)
  • 活跃/非活跃状态

管理员:删除用户

点击 删除图标 (🗑️) 删除用户:

您确定要删除:

用户:John Smith (<john@example.com>)

⚠️ 警告:此操作无法撤消。

这将永久删除: • 用户帐户和凭据 • 2FA 设置 • 会话历史

客户数据和交易将不会被删除。

[取消] [删除用户]

点击 “删除用户” 以确认。

成功消息:

最佳实践

对于最终用户

登录安全:

  • 使用强大、独特的密码
  • 仅在个人设备上启用“记住我”
  • 在共享计算机上始终注销
  • 启用 2FA 以获得额外安全性

2FA 管理:

  • 启用 2FA 后立即保存备份代码
  • 将代码存储在密码管理器或安全位置
  • 测试备份代码以确保它们有效
  • 如果使用多个代码,请��新生成备份代码
  • 如果您同时失去身份验证器和备份代码,请联系管理员

密码管理:

  • 使用密码管理器生成和存储密码
  • 切勿通过电子邮件或消息共享密码
  • 如果怀疑被泄露,请更改密码
  • 为 OmniCRM 使用唯一密码(不要重复使用密码)

对于管理员

用户安全管理:

  • 在重置 2FA 或密码之前验证用户身份
  • 切勿通过电子邮件发送临时密码
  • 在用户备注中记录所有安全重置
  • 鼓励员工启用 2FA
  • 监控异常登录模式

密码重置:

  • 仅通过电话或亲自沟通临时密码
  • 生成强大的临时密码(系统会自动执行此操作)
  • 确保用户在第一次登录时更改密码
  • 不要不必要地重置密码 - 尽可能使用电子邮件重置流程

2FA 重置:

  • 将 2FA 重置视为高安全性操作
  • 在重置之前通过多个渠道验证身份
  • 记录重置原因
  • 鼓励用户在恢复访问后立即重新启用 2FA
  • 考虑要求所有管理用户启用 2FA

用户管理:

  • 定期审查用户列表以查找非活跃帐户
  • 删除已离开组织的用户
  • 确保适当的角色分配
  • 监控从未登录的用户
  • 每季度审核用户权限

故障排除

“无效的电��邮件或密码”错误

  • 原因: 凭据不正确
  • 修复:
    • 验证电子邮件地址是否正确
    • 检查大写锁定是否关闭
    • 如果忘记密码,请尝试重置密码
    • 如果帐户被锁定,请联系管理员

2FA 代码未被接受

  • 原因: 时间同步问题或代码不正确
  • 修复:
    • 确保设备时间正确(设置 → 日期和时间 → 自动)
    • 等待代码刷新(代码每 30 秒更改)
    • 尝试下一个出现的代码
    • 如果身份验证器无法工作,请使用备份代码
    • 如果一切都失败,请联系管理员重置 2FA

“记住我”无效

  • 原因: 禁用或清除 cookies
  • 修复:
    • 在浏览器设置中启用 cookies
    • 关闭浏览器时不要清除 cookies
    • 禁用 OmniCRM 域的隐私扩展
    • 尝试不同的浏览器

未收到密码重置电子邮件

  • 原因: 电子邮件未发送、垃圾邮件过滤器或错误的电子邮件
  • 修复:
    • 检查垃圾邮件/垃圾邮件文件夹
    • 验证电子邮件地址是否正确
    • 等待 5-10 分钟(电子邮件交付可能会延迟)
    • 检查 Mailjet 集成是否正常工作(管理员)
    • 联系管理员进行手动密码重置

密码重置链接过期

  • 原因: 令牌过期(通常为 1 小时)
  • 修复:
    • 请求新的密码重置
    • 检查电子邮件并及时点击链接
    • 如果重复出现问题,请联系管理员

无法启用 2FA(密码不正确)

  • 原因: 当前密码输入不正确
  • 修复:
    • 验证当前密码
    • 如果不确定,请先重置密码
    • 联系管理员寻求帮助

丢失身份验证器应用程序和备份代码

  • 原因: 手机丢失/重置,备份代码未保存
  • 修复:
    • 立即联系管理员
    • 管理员将验证身份并重置 2FA
    • 重置后仅使用密码登录
    • 重新启用 2FA,并这次保存备份代码

管理员:“无法重置 2FA”错误

  • 原因: 权限不足
  • 修复:
    • 确保您具有管理员角色
    • 检查 API 权限
    • 联系系统管理员

管理员:未生成临时密码

  • 原因: API 错误或权限问题
  • 修复:
    • 刷新页面并重试
    • 验证管理员权限
    • 检查 API 日志中的错误
    • 确保数据库可访问

安全考虑

会话管理:

  • 会话在不活动期间过期
  • “记住我”将会话延长至 30 天
  • 会话��储为 HTTP-only cookies(不允许 JavaScript 访问)
  • 安全标志确保 cookies 仅通过 HTTPS 发送

密码安全:

  • 密码使用行业标准算法进行哈希处理
  • 从不存储明文密码
  • 临时密码在首次使用后自动过期
  • 跟踪失败的登录尝试(可能的速率限制)

2FA 安全:

  • TOTP 秘钥在数据库中加密
  • 尽可能在客户端生成二维码
  • 备份代码在存储前进行哈希处理
  • 每个备份代码仅限一次使用

管理员操作:

  • 2FA 重置记录在活动日志中
  • 密码重置创建审计跟踪
  • 管理员操作需要适当的角色权限
  • 安全事件记录 IP 地址

相关文档

  • 2fa - 详细的 2FA API 参考(以 API 为中心)
  • rbac - 基于角色的访问控制和权限
  • administration_configuration - Mailjet 密码重置的电子邮件配置
  • integrations_mailjet - 电子邮件模板配置
  • customer_care - 客户自助门户

2FA 登录验证