lock用户名迁移

用户名迁移

从登录角度来看,用户的主要标识符是他们的电子邮件地址。如果您正在将本地身份验证迁移到单点登录 (SSO),或从一个身份提供者 (IdP) 迁移到另一个,可能需要更新用户的电子邮件地址。

为此,提供了一个脚本,它将使用具有以下格式的 CSV 文件来迁移用户电子邮件:

oldEmail,newEmail

在执行一些验证检查后,脚本将遍历 CSV 文件并将用户的电子邮件地址从 oldEmail 更改为 newEmail.

验证

在运行迁移之前, <csv_file> 将被检查以确保:

  • 对于每一行, oldEmailnewEmail 都是有效的电子邮件地址

  • 没有重复条目,例如,您没有尝试将不同的用户更新为相同的新电子邮件地址,或者没有尝试将同一用户帐户更新为已被使用的电子邮件地址

用法

docker cp <csv_file> sharelatex:/overleaf/services/web/<csv_file> docker exec sharelatex /bin/bash -c "cd /overleaf/services/web;node ./modules/server-ce-scripts/scripts/migrate-user-emails.js [--commit] [--continue|--ignore-missing] [--admin-id=ADMIN_USER_ID] <csv_file>"

标志

名称

--commit

包含 --commit 标志将实际执行迁移。省略时,迁移将在演练模式(dry-run)下进行,不会做出更改,但仍会执行验证。 默认:false

--continue

--continue 标志将在如果用户账户上的电子邮件地址已被更新的情况下继续迁移过程

--ignore-missing

--ignore-missing 标志将在未找到用户账户的情况下继续迁移过程

--admin-id

--admin-id 应设置为执行迁移的管理员的 ID,并将用于审计日志条目。转到 管理员 > 管理用户 并搜索您的电子邮件地址,然后点击第一个结果以查找您的用户 ID。

<csv_file>

<csv_file> 是包含旧电子邮件和新电子邮件地址的文件,格式为

完成

在执行迁移脚本时,取决于您选择的标志,脚本会决定是在记录错误到控制台后继续,还是记录错误到控制台后退出。如果脚本因错误而提前终止,它将以代码 1 退出,表示未成功。

迁移完成后,脚本将向控制台记录成功、失败和跳过更新的数量。如果迁移成功完成,脚本将以代码 0 退出。

最后更新于