Skip to main content
一位 Fluz 用户可以同时拥有一个个人账户和一个或多个企业账户。以前 OAuth 流程总是解析到个人账户,现在不再如此。 如果你的应用服务于企业,本页就是“能用的集成”与“您默默把每一份授权都挂到错误账户上的集成”之间的差别。
本页内容不会改变 authorize URL、回调契约或令牌交换。发生变化的是返回的授权码绑定到哪个账户,以及同意页面是用哪份权限清单构建的

两种流程

第二种流程存在的原因是:在用户同意的那一刻,企业还不存在。用户在自己的个人账户上授予“注册企业”的权限,并在同一步骤中预先批准你的应用在该企业存在后所需的企业权限。这些预批权限会挂在用户名下,直到企业被创建。
同一个个人账户可以多次走企业注册流程,随时间推移为多家企业预先批准权限。

在你的应用上启用企业账户

两份权限清单位于应用的 Permissions 标签页,由你自行编辑。参见配置 OAuth 应用。流程是否允许落在个人账户上,则不在该标签页上 —— 由 Fluz 在你的应用上配置。
1

填写 Business permissions 清单

与消费者 Permissions 清单独立编辑。企业清单非空,才会让你的应用启用企业能力 —— 留空的话,用户永远不会看到申请企业账户的选项。注册企业的权限不在这份清单里。它由个人账户授予,因此属于消费者清单。
2

在消费者 Permissions 清单上启用“注册企业”权限

企业注册流程必需。没有它,该流程无法完成。
3

如有需要,请 Fluz 将应用限制为仅企业账户

Fluz 可以为你的应用做配置,使流程永远不会落在个人账户上。这一项不是自助的 —— 如果你的应用只应在企业账户上运行,请联系你的 Fluz 客户经理。如果你的应用同时服务于消费者与企业,请跳过此步。在未启用该限制前,没有企业账户的用户会同时看到自己的个人账户和申请企业账户的选项,其中一些人会选个人账户。

账户是如何被选定的

是跳过选择器还是展示它,由 Fluz 决定。你的应用不控制这一点 —— 但你需要知道你的用户会遇到什么。
正因为存在账户选择这一步,你不应假设收到的授权码绑定的是用户的个人账户。请从交换响应中读取账户并持久化 —— 不要根据你自己关于“谁发起了流程”的记录去推断。

适用哪份权限清单

同意页面始终根据你的应用配置构建,而不是根据 authorize URL。使用哪份清单取决于流程: 每种情况下该清单都是只读的。用户要么全部接受,要么无法完成授权。 权限会在我们这一侧根据适用于该流程的清单进行校验。不在清单内的内容会被拒绝,而不是静默丢弃。

在企业场景下使用 external_id

external_id 在每个应用内唯一,首次使用时就会绑定到唯一一个 Fluz 账户。引入企业后,这带来一个值得提前规划的后果:
  • 如果用户以 external_id=acct_123 授权了一个个人账户,该 ID 就绑定到了个人账户。你无法之后再把它用在他的企业账户上。
  • 为每个你想跟踪的账户分配各自的外部 ID。如果你在自己的系统里单独建模企业,请使用你的企业标识符 —— 而不是所有者用户的。
通用规则参见管理外部引用 ID

组件中的企业账户

当你的集成使用嵌入式组件时,企业账户可以作为存款、payout 和 pay-in 的当前上下文。有两点与消费者上下文不同:
  • 消费者身份验证(KYC)不适用。 企业上下文通过企业验证(KYB)完成核验,不会出现消费者 KYC 提示。
  • PIN 在用户层级设置。 尚未设置 PIN 的用户可以在任一上下文中设置,且对两者都生效。

故障排查


下一步

面向客户端的授权流程

authorize URL、state 与回调。

配置 OAuth 应用

两份权限清单在哪里。

外部引用 ID

选择不会让你后悔的标识符。

交换授权码

将授权码换成令牌。