Apifox 发布 API 文档后,如何控制访问权限?5 种方法轻松搞定

写完 API 文档准备发布,你可能会考虑到这个问题:谁能看这份文档?
完全公开?还是只给内部团队?或者需要给合作方看,但不能所有人都能访问?如果每种情况都单独维护一份文档,工作量太大了。而且实际工作中,权限需求往往很具体:可能只需要让某个部门的人看到,或者只允许合作方从他们公司网络访问。
好在 Apifox 提供了几种不同的访问控制方式,基本能解决你遇到的各种权限控制需求。只需在「发布文档站」的时候,选择对应的控制方式即可,下文就来逐一介绍不同方式的使用场景。

公开发布:所有人都能访问
如果你的 API 本身就是开放给所有人用的,比如你们产品的开放接口,直接选择「公开发布」就行,任何人拿到链接都能查看文档。

Apifox 还有个 API Hub 平台,相当于 API 文档的展示平台。如果你想让更多开发者发现和使用你的 API,可以选择发布到那里,增加一定的曝光度。
密码保护:设个门槛
大多数情况下,我们不希望文档被公开,但也不想搞得太复杂。密码保护是最简单的方案——给文档设个密码,知道密码的人才能访问。
设置很简单,选择「密码保护」后自己设个密码,或者让系统随机生成一个。然后把密码发给需要查看文档的同事或合作方就可以了。

什么时候用密码保护最合适?
比如需要让外部人员临时查看接口设计,这种短期的、临时性的共享需求,密码保护完全够用。用完就改密码,或者直接下线文档,干净利落。

不过密码这东西,传来传去的,说到底可能还是会在不经意间被分享出去。如果你需要更严格的控制,就得考虑其他方案了。
IP 白名单:只允许特定网络访问
假设你的团队或者合作方都在固定的办公场所办公,那 IP 白名单可能是个更好的选择。
原理很简单:只有你指定的 IP 地址或 IP 段才能访问文档,其他任何地方都看不了。这相当于给文档加了一道“防火墙”,从源头上控制了访问权限。

这种方式在企业环境中很实用,比如只允许公司内网访问,或者只允许合作方从他们的办公网络访问。你可以设置单个 IP 地址,也可以设置整个 IP 段,访问文档时 IP 不匹配将被拒绝访问。

「IP 白名单」的方式除了用于发布的 API 文档,也可以用于 Apifox 团队权限控制,你可以在「团队设置」里启用(注:需商业专业版才支持)。

启用后,只有来自指定 IP 的网络环境,团队成员才能进入项目查看内容,IP 不对,整个团队都无法访问。

邮箱白名单:基于邮箱验证
假如你担心密码被乱传,而 IP 白名单又不适合经常换办公地点的同事或者合作方,这怎么办?
邮箱白名单完美解决了这个问题。你只需要把团队成员或者合作方的企业邮箱加到白名单里,他们就能通过邮箱验证码访问文档。

它支持通配符,比如你设置 *@apifox.com
,那么所有使用 @apifox.com
邮箱的人都能访问。

这种方式的好处显而易见:灵活、安全、易管理。新增了团队成员?加个邮箱。团队成员离职?移除邮箱。
一切都很方便,而且因为需要邮箱验证,即使链接被分享出去,没有授权邮箱的人也看不了,可以灵活管理企业邮箱用户的访问权限。
自定义登录页:接入你自己的用户系统
如果前面这些都满足不了需求,还有个高级选项——自定义登录页。这个功能让你可以用自己的用户系统来控制文档访问权限。

工作流程是这样的:用户访问文档站时,先跳转到你自己的登录页面。用户完成身份验证后,你的服务器生成一个 JWT Token,然后把用户重定向回文档站,同时把 Token 作为参数传过去。Apifox 验证这个 Token,通过了就允许访问。


这种方式的好处是完全按照你的业务逻辑来控制权限。虽然需要一些开发工作,但对于有复杂权限需求的企业来说很有价值。
具体的实现方式可以看一下帮助文档的自定义登录页小节。

如何选择合适的方式
说了这么多,你可能会想:我到底该选哪个?
其实答案就在你的使用场景里:
- 公开发布:适合开放 API,希望更多人使用
- 密码保护:适合团队协作或临时外部分享
- IP 白名单:适合有安全要求的企业内网环境
- 邮箱白名单:适合按用户身份控制访问的场景
- 自定义登录:适合已有用户系统、需要精细权限管理的企业
另外,很多时候你可能会有多种访问需求。比如对内使用 IP 白名单,对外使用邮箱白名单,临时演示用密码保护。这时可以通过发布多个文档站来灵活应对这些场景。
从第二个文档站开始,你可以自动圈选要分享的接口,再配合对应的访问控制方式,让不同的受众只看到该看的内容。这样不仅能控制谁能访问,还能控制看到什么,实现更精细的权限管理。

有其他问题欢迎留言交流~也可以访问 Apifox 官方帮助文档的可见性设置模块进一步了解更多知识。