成员与账号
适用于Alpha
获得 OpenRUM 的访问权分两步:一个人需要有一个账号,这个账号还需要一个 Organization 角色。没有角色的账号可以登录,但看不到任何数据。本页介绍这两步,以及每个人对自己账号的管理。
新成员如何获得访问权
Section titled “新成员如何获得访问权”默认情况下,OpenRUM 只接受被邀请的人。一个人进入 Organization 有三种方式:管理员分享邀请链接;此人用 Instance Owner 启用的外部登录方式登录,再由管理员添加;或者 Instance Owner 打开了开放注册,此人自行注册并创建自己的 Organization。第一个账号在首次初始化时创建。
Instance Owner 可以在系统设置 → 认证与访问 → 开放注册让任何人创建账号。它默认关闭,开关时都会再次要求输入 Owner 的密码。它适合公司内网:注册完就能开始使用;对陌生人也能访问的实例,请保持关闭。
打开后,/register 提供两种注册方式:
- 邮箱。 填写用户名、邮箱和密码,再打开 OpenRUM 发来的邮件里的链接来确认邮箱。链接只能用一次,24 小时内有效。打开后账号即获批准并自动登录,可以直接创建自己的 Organization 和 Project,不需要管理员审批。邮箱注册需要邮件服务;没有时表单会隐藏,页面会说明原因。链接一直没有被打开的账号不能登录,7 天后会被清理。注册不会透露某个邮箱是否已注册:页面给出相同的回应,只有尚未注册的邮箱才会收到邮件。
- 外部登录。 用已启用的 Google、GitHub 或 OIDC 方式注册。如果登录方没有给出可用的邮箱,由本人填写。OpenRUM 不验证这个邮箱,只检查没有别人在用。目录(LDAP)账号不走注册,首次登录时自动创建。
注册、修改密码和首次初始化共用一条密码规则:至少 8 个字符,须同时包含大写字母、小写字母和符号。
关闭开放注册只会停止新的注册,已有账号不受影响。关闭期间,新账号只能来自邀请链接和外部登录,并停留在待审批状态,直到管理员通过。
- Owner 或 Admin 点开 Console 左上角的项目菜单,选择邀请成员。成员与权限页面里有同样的按钮。
- 选择对方通过后的角色:Admin、Member 或 Viewer。链接不能提供 Owner。
- 选择交付方式:
- 复制链接:生成链接并复制。
- 发送邮件:把链接发到你填写的邮箱。需要有邮件服务,由 Instance Owner 在**系统设置 → 邮件服务**里配置,没有时这个页签是禁用的。邮件发送失败时,弹窗仍会显示链接,可以自己复制发给对方。
- 对方打开链接。没有账号的人用姓名、邮箱和符合密码规则的密码注册;已有账号的人登录后点击申请加入。
- 申请会出现在成员与权限 → 加入申请。Owner 或 Admin 选择角色(默认是链接提供的角色),点击通过,或点击拒绝。
链接只让持有者有资格提出申请。管理员通过之前不会授予任何权限,所以链接被转发或泄露,结果只是多出几条待审核的申请,而不是多出访问权。在此之前,通过链接注册的人可以登录,但只能看到等待页。管理员通过后,OpenRUM 不会通知对方:对方的等待页每 15 秒自动检查一次,已有账号的人下次打开 Console 就能看到这个 Organization。
链接 7 天内有效,期间不限使用人数,直到你撤销。一个 Organization 最多同时有 50 条有效链接和 200 条待处理申请。邀请链接页签列出有效的链接和每条发到的邮箱,可以立即撤销。对已发邮件的链接点重发,会向同一个邮箱发出新链接,并在新邮件发出之后才撤销旧链接。链接的密钥不会被保存,所以用复制链接生成的链接无法再次显示,需要时重新生成一个。
添加已经登录过的人
Section titled “添加已经登录过的人”用 Google、GitHub、OIDC 或 LDAP 等外部方式登录过的人,账号处于**待审批(pending)**状态。Owner 或 Admin 可以不发链接,直接添加:
- Instance Owner 启用一种登录方式。
- 新成员用这种方式登录一次。
- Owner 或 Admin 打开成员与权限,在已有用户邮箱里输入这个人的邮箱,选择角色,点击添加成员。
- 账号变为已批准,对方下一次状态检查时就能使用 Console。
表单是按邮箱查找已有账号的,所以添加一个从未登录过的人会失败。请改发邀请链接,或先让他登录一次。
待审批的人只能看到自己的访问状态并退出登录,不能读取任何 Project 或 Event。
打开成员与权限,用顶部的选择器选择 Organization。Organization 里的每个人都能看到成员列表。Owner 和 Admin 还可以:
- 用链接邀请成员,并通过或拒绝他们的加入申请
- 添加已有用户并指定角色
- 修改成员的角色
- 移除成员
你能分配哪些角色取决于你自己的角色。Admin 可以分配 Admin、Member 和 Viewer,但只有 Owner 能分配、修改或移除 Owner。Organization 的最后一名 Owner 不能被降级或移除。各角色的权限见角色与权限。
移除成员会结束他对该 Organization 及其所有 Project 的访问,但不会删除他的账号,他在其他 Organization 里的访问也保持不变。
只让某个人访问部分 Project
Section titled “只让某个人访问部分 Project”角色作用于整个 Organization。想把某个人限制在一个产品上,就把这个产品放进单独的 Organization,并只在那里添加他。见组织、项目与角色。
你自己的账号
Section titled “你自己的账号”每个人都在个人资料里管理自己的登录方式:
| 任务 | 说明 |
|---|---|
| 选择头像 | 见下面的头像 |
| 修改密码 | 适用于有 OpenRUM 密码的账号 |
| 设置 OpenRUM 密码 | 适用于由外部登录创建的账号,密码符合密码规则 |
| 关联登录方式 | 为同一个账号增加一种登录途径 |
| 取消关联登录方式 | 只要还剩一种可用的登录方式就可以取消 |
邮箱相同并不会合并账号。 如果你已有 OpenRUM 账号,又点了新提供者的登录按钮,登录会因身份冲突被拒绝,而不会并入原账号。请先在已有账号里关联新的登录方式。见登录 OpenRUM。
在个人资料里,从一批生成的头像中选一个,点换一批可以换一批新的。点一下就会保存。恢复为首字母会移除头像。头像会显示在账号菜单、成员列表、加入申请和 Issue 负责人选择器里。
如果 Instance Owner 已经配置了对象存储,你也可以上传自己的图片;没有配置时,上传图片按钮是禁用的,并会说明原因。Console 会在发送前把图片裁成居中的正方形并缩到 256 像素,所以最大 10 MB 的 PNG、JPEG、WebP 或 GIF 都可以。上传的图片只有你自己和与你同属一个 Organization 的成员能看到。
生成头像来自公共服务 DiceBear,所以显示时查看者的浏览器会访问 api.dicebear.com。见安全与隐私默认值。
为 Instance 角色设置密码
Section titled “为 Instance 角色设置密码”将要持有 Instance Owner 或 Instance Admin 角色的人必须有 OpenRUM 密码,因为敏感的 Instance 操作会再次要求输入。请在授予角色之前让他设置好。这个密码也用于角色与权限里说的五分钟重新验证。
| 现象 | 可能原因 |
|---|---|
| 添加成员时提示找不到用户 | 他还没有登录过,或账号已被停用。请改发邀请链接 |
| 邮箱注册提示去查收邮件,但一直没收到 | 要么该邮箱已经注册过(注册页刻意不透露),要么邮件进了垃圾箱。重新发送每分钟可用一次。邮件只会通过实例的邮件服务发出 |
| 注册页提示未开放注册,或看不到邮箱表单 | Instance Owner 没有打开开放注册,或者没有配置邮件服务(邮箱表单需要它) |
| 登录时提示先确认邮箱 | 账号由邮箱注册创建,邮件里的链接还没有被打开。在登录页点重新发送验证邮件 |
| 某人登录后只看到访问状态页 | 账号处于待审批状态。如果来自邀请链接,需要 Owner 或 Admin 通过他的申请;否则需要添加他的邮箱 |
| 邀请页面提示链接无效、已过期或已撤销 | 链接有效期 7 天,也可能被撤销。请向管理员要一条新的 |
| 通过链接注册时提示邮箱已注册 | 此人已有账号。请在同一页面登录,再点击申请加入 |
| 默认头像只显示首字母 | 浏览器访问不了 api.dicebear.com。可以点“换一批”重试、保持首字母,或上传图片 |
| 上传图片是禁用的 | 没有配置对象存储。请 Instance Owner 在系统设置 → 对象存储里配置 |
| 发送邮件页签是禁用的 | 没有配置邮件服务。请 Instance Owner 在系统设置 → 邮件服务里配置,或者改用复制链接 |
| 用某个提供者登录时报身份冲突 | 该邮箱已有账号。请用原方式登录,再在个人资料里关联这个提供者 |
| 成员列表是只读的 | 你的角色是 Member 或 Viewer,请联系 Owner 或 Admin |
| Admin 无法把成员改为 Owner | 这是有意的设计,只有 Owner 能授予或修改 Owner |
Release Alpha · commit local