3.8.1
This commit is contained in:
57
public/wiki/2x-api-righst.md
Normal file
57
public/wiki/2x-api-righst.md
Normal file
@@ -0,0 +1,57 @@
|
||||
# 开放接口权限
|
||||
|
||||
针对提供给开发者的开放接口API,PhalApi Pro设计了一套完善的权限控制体系,可在不同维度进行灵活的权限控制。
|
||||
|
||||
## 接口权限规则
|
||||
|
||||
从开发者账号类型为起点,开发者账号类型分为个人开发者、企业开发者等多种开发者类型;每种开发者账号类型下可注册多个开发者;而每个开发者可以创建多个应用;每个应用可以调用多个开放接口API。因此,整体的结构如下:
|
||||
|
||||

|
||||
|
||||
## 授权项目
|
||||
|
||||
授权项目,主要是针对开放接口,对应```App.*.*```系列接口,如果需要管理其他系列的接口,可以手动添加。
|
||||
|
||||

|
||||
|
||||
位于App命名空间下的接口,会自动纳入接口权限管理,因此推荐在App下扩展添加新的开放接口。
|
||||
|
||||
## 授权对象
|
||||
|
||||
> 温馨提示:管理员账号下的全部应用,拥有全部接口权限。接口权限,主要针对开发者进行权限分配。
|
||||
|
||||
### 开发者应用维度
|
||||
授权对象主要是针对开发者的客户端应用,因为使用开放接口的主要对象是程序。每个开发者应用都有一个唯一的app_key,因此通过对app_key维度可进行接口权限的控制。
|
||||
|
||||
### 开发者账号维度
|
||||
每个开发者应用最多可属于一位开发者,因此也可以通过开发者账号进行接口权限控制。
|
||||
|
||||
### 账号类型维度
|
||||
最后,可以对开发者的账号类型统一进行角色权限。
|
||||
|
||||
因此,接口权限的授权对象可以分为:开发者应用、开发者账号和账号类型三个维度。
|
||||
|
||||
## 授权优先级
|
||||
|
||||
根据前面的维度,对于接口权限的优先级,最高到低,依次是:
|
||||
|
||||
> 开发者应用接口权限 -> 开发者账号接口权限 -> 账号类型接口权限 -> 默认开放接口权限
|
||||
|
||||
+ 最高:开发者应用接口权限,通过app_key匹配规则库
|
||||
+ 开发者账号接口权限,通过账号ID匹配规则库
|
||||
+ 账号类型接口权限,通过账号等级匹配规则库
|
||||
+ 最低:默认开放接口权限,通过```default_app_api_rigths_is_allow```配置项指定
|
||||
|
||||
按优先级从高到低,依次寻找权限规则,命中即生效,进行短路判断。
|
||||
|
||||
> 再次温馨提示:管理员账号下的全部应用,拥有全部接口权限。接口权限,主要针对开发者进行权限分配。所以,管理员所创建的应用,只适合内部使用。
|
||||
|
||||
## 接口权限规则配置
|
||||
|
||||
进入管理后台,可进行各个维度的接口权限配置。
|
||||
|
||||
## 如何取消接口权限判断?
|
||||
|
||||
如果需要取消全部接口的权限判断,可以修改```default_app_api_rigths_is_allow```配置为true,但不推荐。
|
||||
|
||||
如果需要取消某个接口的权限判断,可以在PHP代码中配置白名单,此部分将会在技术文档进行说明。查看[接口白名单配置文档](http://docs.phalapi.net/#/v2.0/filter?id=%e7%99%bd%e5%90%8d%e5%8d%95%e9%85%8d%e7%bd%ae)。
|
||||
Reference in New Issue
Block a user