身份验证流程和管理员控制
OmniCRM 提供全面的身份验证功能,包括登录、双因素身份验证(2FA)、密码管理和用于管理用户安全的管理员控制。 本指南重点介绍最终用户和管理员的 UI 工作流程。
另请参见:自助门户 以获取客户登录和门户访问,RBAC 以获取员工权限。
概述
OmniCRM 身份验证包括:
- 电子邮件/密码登录 - 标准凭据基础的身份验证
- 双因素身份验证 (2FA) - 可选的基于 TOTP 的第二因素
- 记住我 - 延长会话时间最长可达 30 天
- 密码重置 - 通过电子邮件自助密码恢复
- 管理员控制 - 用于重置 2FA 和密码的管理工具
- 社交登录 - 可选的 Google、Apple、Facebook 集成(如果启用)
- 基于角色的导航 - 根据用户角色自动路由
登录流程
登录页面是所有用户(员工和客户)的入口点。
标准登录
{.align-center width="800px"}
登录过程:
- 输入 电子邮件地址(员工或客户电子邮件)
- 输入 密码
- 可选:勾选 “记住我 30 天” 以延长会话
- 点击 “登录”
接下来发生什么:
- 没有 2FA: 用户立即登录,基于角色导航:
- 客户 → 自助门户 (
/self-care) - 员工/管理员 → 客户仪表板 (
/customers) - CBC 模式 → 单元广播界面 (
/create-cell-broadcast)
- 客户 → 自助门户 (
- 启用 2FA: 重定向到 2FA 验证屏幕
记住我功能:
启用时,会话持续 30 天,而不是在浏览器关闭时过期。使用安全的 HTTP-only cookies。
显示/隐藏密码:
点击 眼睛图标 (👁) 切换密码可见性。
使用 2FA 登录
如果用户启用了 2FA,在输入电子邮件/密码后,将出现 2FA 挑战屏幕:
{.align-center width="800px"}
使用身份验证器代码:
- 打开身份验证器应用程序(Google Authenticator、Authy 等)
- 找到 OmniCRM 条目
- 输入 6 位数代码
- 输入所有 6 位数字时,代码自动提交
- 如果有效,用户登录并导航到相应的仪表板
使用恢复代码:
如果身份验证��应用程序不可用:
- 点击 “恢复代码” 选项卡
- 输入您保存的备份代码之一(例如,
3fa5b9c2) - 点击 “验证”
- 代码被消耗(只能使用一次)
取消:
点击 “取消” 返回登录页面。
社交登录(可选)
如果启用(REACT_APP_ALLOW_SOCIAL_LOGINS=yes),社交登录按钮将出现:
[🔵 使用 Google 登录] [⚫ 使用 Apple 登录] [🔵 使用 Facebook 登录]
点击任何按钮通过该提供商进行身份验证。当前显示“即将推出”消息(社交登录实现正在进行中)。
忘记密码链接
点击 “忘记密码?” 链接以启动密码重置流程。
双因素身份验证 (2FA) 设置
用户可以启用 2FA 以增强帐户安全性。2FA 使用与标准身份验证器应用程序兼容的 TOTP(基于时间的一次性密码)。
访问 2FA 设置
从用户个人资料或设置:
客户注意事项:
客户角色用户不会看到 2FA 提示。2FA 通常仅对员工和管理用户要求。
第 1 步:确认密码
当前密码
[取消] [继续]
输入您的当前密码以继续。这在启用 2FA 之前验证您的身份。
第 2 步:扫描二维码
[取消] [确认]
设置说明:
- 下载身份验证器应用程序(如果您没有):
- iOS:Apple App Store → “Google Authenticator”
- Android:Google Play → “Google Authenticator”
- 替代方案:Authy、Microsoft Authenticator、1Password
- 扫描二维码:
- 打开身份验证器应用程序
- 点击 “+” 或 “添加帐户”
- 选择 “扫描二维码”
- 将相机对准屏幕上的二维码
- 应用程序添加带有 6 位数代码的 “OmniCRM” 条目
- 保存备份代码:
- 关键: 记录或复制这 8 个代码
- 存放在安全位置(密码管理器、安全箱等)
- 每个代码仅限一次使用
- 如果您失去对身份验证器应用程序的访问,则使用
- 点击 “复制代码” 将所有代码复制到剪贴板
- 验证设置:
- 输入来自身份验证器应用程序的当前 6 位数代码
- 点击 “确认”
- 如果有效,2FA 现在已启用
第 3 步:启用 2FA
成功消息出现:
从现在开始,登录需要密码和 2FA 代码。

密码重置流程(自助服务)
忘记密码的用户可以通过电子邮件重置密码。
第 1 步:请求重置链接
从��录页面,点击 “忘记密码?”
{.align-center width="800px"}
- 输入 电子邮件地址
- 点击 “发送重置链接”
发生的事情:
- 系统检查电子邮件是否存在于数据库中
- 如果找到,通过 Mailjet 发送密码重置电子邮件
- 电子邮件包含时间限制的重置链接(通常 1 小时过期)
- 成功消息出现:“重置说明已发送到您的电子邮件”
如果未找到电子邮件:
错误消息:“未找到该电子邮件地址的帐户”
第 2 步:检查电子邮件
用户收到主题类似的电子邮件:
嗨 [姓名],
您请求重置 OmniCRM 帐户的密码。
点击下面的链接重置您的密码: <https://yourcompany.com/reset-password/abc123token456>
此链接在 1 小时内过期。
如果您没有请求此操作,请忽略此电子邮件。
点击重置链接以继续。
第 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 的临时密码:
[📋 复制密码]
⚠️ 重要: • 通过安全渠道将此密码发送给用户 • 不要通过电子邮件或不安全的消息发送 • 用户将在下次登录时被迫更改密码
[关闭]
管理员操作:
- 复制临时密码
- 通过电话或安全方式与用户沟通
- 口头提供临时密码
- 指示用户登录并更改密码
用户体验:
当用户使用临时密码登录时:
- 登录成功
- 立即重定向到“更改密码”屏幕
- 必须在访问系统之前设置新密码
- 不能跳过密码更改
管理员:重置用户 2FA
当用户失去对身份验证器应用程序和所有备份代码的访问时:
第 1 步:点击重置 2FA 图标 (🛡️)
仅对当前启用 2FA 的用户显示。
确认模态框出现:
{.align-center width="600px"}
第 2 步:确认重置
点击 “重置 2FA”
第 3 步:确认
成功消息:
John Smith 现在可以仅使用其密码登录。他们可以从用户设置中重新启用 2FA。
用户体验:
- 用户现在可以仅使用密码登录(不需要 2FA 代码)
- 用户行中的 2FA 盾牌图标 (🛡️) 从管理员表中消失
- 用户可以自愿从其设置中重新启用 2FA
重要安全注意事项:
在重置 2FA 之前,管理员应:
- 通过替代方式验证用户身份:
- 政府身份证验证
- 安全问题
- 最近交易验证
- 亲自验证(如适用)
- 在客户备注中记录重置
- 通知用户在恢复访问后重新启用 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- 客户自助门户
