Authing 文档文档
快速开始
概念
使用指南
开发集成 arrow
  • V2 文档
  • V3 文档
元数据
应用集成
身份自动化
加入 APN
开发集成
多租户(内测版)
控制台文档
多租户控制台
租户控制台
Saas 应用 Demo
快速开始
概念
使用指南
开发集成 arrow
  • V2 文档
  • V3 文档
元数据
应用集成
身份自动化
加入 APN
开发集成
多租户(内测版)
控制台文档
多租户控制台
租户控制台
Saas 应用 Demo
旧版
使用指南
  • 快速开始

  • 对用户进行认证

  • 对用户进行权限管理

  • 用户自助服务

  • 授权

  • 自适应 MFA

  • 管理用户账号

  • 管理用户目录

  • 同步中心

  • 应用

  • 成为联邦认证身份源

  • 连接外部身份源(IdP)

    • 社会化身份源

    • 企业身份源

    • 自定义数据库

    • 账号绑定
  • 微信生态全场景能力

  • 迁移用户到 Authing

  • 管理组织机构

  • 安全设置

  • 品牌化

  • 自动化

  • 审计日志

  • 设置

  • Authing 令牌
  • 私有化部署方案

  • 常见问题 FAQ

  1. 使用指南
  2. /
  3. 连接外部身份源(IdP)
  4. /
  5. 自定义数据库

¶ 自定义数据库概览

更新时间: 2025-02-18 09:00:47
编辑

有关支持「自定义数据库」功能权益的 Authing 用户池版本信息,请查看 官网「价格」页 (opens new window)。如你的版本不支持此权益,且想试用,可开通体验期。有关体验期介绍及开通方式,请查看 体验期。

使用自定义数据库可以满足以下场景的需求:

  • 使用自己的数据库保存用户数据:完全使用自己的数据库保存用户数据,这种模式下,Authing 将不会存储你的任何用户信息。
  • 惰性迁移用户到 Authing:这种迁移用户的模式称为惰性迁移(lazy migration),简单来说原理如下:最开始所有的原始用户数据在你的数据库,当用户第一次尝试在 Authing 登录时,Authing 会通过你配置的自定义数据库脚本在你的数据库查找并验证用户,如果成功,会将该用户迁移到 Authing 中;该用户第二次登录时,将使用 Authing 的数据库对其进行验证;当所有的用户都至少登录一次时,意味着迁移上云任务完成。详情请见:使用自定义数据库实现用户惰性迁移。

你可以通过以下方式配置自定义数据库:前往 Authing 控制台 (opens new window) 的 连接身份源 - 自定义数据库 页面开启自定义数据库连接,详情请见配置自定义数据库:

¶ How it Works

如下图所示,你可以在 Authing 的认证流中自定义数据库从 Legacy Database 中获取用户的身份信息。取决于你所使用的场景,流程原理也会稍有不同。

drawing

自定义数据库有两种不同模式,你可以根据自己的业务需求选择合适的模式:

  • 惰性迁移用户:这种迁移用户的模式称为惰性迁移(lazy migration),简单来说原理如下:最开始所有的原始用户数据在你的数据库,当用户第一次尝试在 Authing 登录时,Authing 会通过你配置的自定义数据库脚本在你的数据库查找并验证用户,如果成功,会将该用户迁移到 Authing 中;该用户第二次登录时,将使用 Authing 的数据库对其进行验证;当所有的用户都至少登录一次时,意味着迁移上云任务完成。详情请见:使用自定义数据库实现用户惰性迁移。
  • 完全使用自定义数据库:这种模式下用户数据始终保存在你的数据库中,Authing 永远不会保存你的用户数据。为了让系统正常工作,你需要实现完整的用户增删改查脚本。

¶ 运行环境

目前 Authing 的自定义数据库脚本运行环境为 node 12 环境的完全隔离沙盒实例。

¶ npm 模块

包含各种数据库连接 Client、axios、bcrypt、lodash 等:

  • bcrypt (opens new window): 可用于加密和校验密码,这也是我们推荐的密码加密方式,使用起来也非常简单。示例:
const isPasswordValid = await bcrypt.compare(password, user.password);
if (!isPasswordValid) {
  throw new Error('密码错误');
}
  • axios (opens new window): Node.JS 最流行的网络请求库。
  • lodash (opens new window) v4。
  • pg (opens new window): Node PostgresQL Driver。
  • mongodb (opens new window): Node Mongodb Driver。
  • mysql2 (opens new window): Node MySQL Driver。
  • mssql (opens new window): Node Sql Server Driver。

¶ 添加 IP 白名单

如果你在脚本中访问的服务配置有防火墙,请确保其对以下 IP 地址开放:140.179.19.50, 52.80.250.250 . 你还可以通过以下 API 动态获取 Authing 服务器对外 IP 地址:https://core.authing.cn/api/v2/system/public-ips (opens new window)。

上一篇: 致远 OA 下一篇: 配置数据库连接和编写脚本
  • How it Works
  • 运行环境
  • 添加 IP 白名单

用户身份管理

集成第三方登录
手机号闪验 (opens new window)
通用登录表单组件
自定义认证流程

企业内部管理

单点登录
多因素认证
权限管理

开发者

开发文档
框架集成
博客 (opens new window)
GitHub (opens new window)
社区用户中心 (opens new window)

公司

400 888 2106
sales@authing.cn
北京市朝阳区北辰世纪中心 B 座 16 层(总)
成都市高新区天府五街 200 号 1 号楼 B 区 4 楼 406 室(分)

京ICP备19051205号

beian京公网安备 11010802035968号

© 北京蒸汽记忆科技有限公司