授权管理

1、第三方接入

1.1、添加

1、第三方应用名称

填写应用的名称即可

2、第三方标识

第三方应用的标识,唯一,和秘钥 参数一起用来确认第三方应用的身份

3、第三方Domain

填写第三方应用的URI,占位作用,暂无其他用途

4、秘钥

第三方标识 参数一起,用来确认第三方应用的身份

5、作用域

单点登录 :只是登录到系统,接口无权限
接口调用 :提供接口调用权限

6、授权类型:授权码,密码,客户端

对应oauth2.0的三种授权机制

7、描述

添加相关描述

1.2、不通过

1.3、通过

V3前端对应的oauth认证信息参考

# 页面 title 前缀
VUE_APP_TITLE='ifrom平台-广州安可信息技术有限公司'

# 后台配置的Token key
VUE_APP_TOKEN_KEY='X-Authorization-access_token'

# 系统id
VUE_APP_SYSTEM_ID='X-Authorization-systemid'

# 申请应用时分配的AppKey
VUE_APP_CLIENT_ID='ifrom'

# 申请应用时分配的AppSecret
VUE_APP_CL_IENT_SECRET='58b65297-34670859-8337-8cbaf81ef68a'

# 授权方式:authorization_code :授权码方式,password_credentials: 密码模式
VUE_APP_GRANT_TYPE='authorization_code'

# ========================Token存储===============================

# TOKEN存储方式default:默认, domain: 域名限制
VUE_APP_TOKEN_STORE = 'default'

# TOKEN 存储域名限制,VUE_ APP TOKEN STORE为domain有效,
VUE_APP_TOKEN_DOMAIN = 'bpmhome.cn'

# TOKEN存储的前缀 default:默认,加前缀和版本。custom:自定义,写的输出什么
VUE_APP_TOKEN_STORE_KEY='token'

# TOKEN存储方式key
VUE_APP_REFRESH_TOKEN_STORE_KEY='refresh_token'

# 刷新TOKEN存储方式key
VUE_APP_REFRESH_TOKEN_STORE_KEY='refresh_token'

oauth2.0授权机制说明

授权码(authorization-code)

授权码(authorization code)方式,指的是第三方应用先申请一个授权码,然后再用该码获取令牌。
第一步,A 网站提供一个链接,用户点击后就会跳转到 B 网站,授权用户数据给 A 网站使用。下面就是 A 网站跳转 B 网站的一个示意链接。

 https://b.com/oauth/authorize?
    response_type=code&
    client_id=CLIENT_ID&
    redirect_uri=CALLBACK_URL&
    scope=read

上面 URL 中,response_type参数表示要求返回授权码(code),client_id参数让 B 知道是谁在请求,redirect_uri参数是 B 接受或拒绝请求后的跳转网址,scope参数表示要求的授权范围(这里是只读)。

第二步,用户跳转后,B 网站会要求用户登录,然后询问是否同意给予 A 网站授权。用户表示同意,这时 B 网站就会跳回redirect_uri参数指定的网址。跳转时,会传回一个授权码,就像下面这样。

https://a.com/callback?code=AUTHORIZATION_CODE

上面 URL 中,code参数就是授权码。

第三步,A 网站拿到授权码以后,就可以在后端,向 B 网站请求令牌。

https://b.com/oauth/token?
   client_id=CLIENT_ID&
   client_secret=CLIENT_SECRET&
   grant_type=authorization_code&
   code=AUTHORIZATION_CODE&
   redirect_uri=CALLBACK_URL

上面 URL 中,client_id参数和client_secret参数用来让 B 确认 A 的身份(client_secret参数是保密的,因此只能在后端发请求),grant_type参数的值是AUTHORIZATION_CODE,表示采用的授权方式是授权码,code参数是上一步拿到的授权码,redirect_uri参数是令牌颁发后的回调网址。

第四步,B 网站收到请求以后,就会颁发令牌。具体做法是向redirect_uri指定的网址,发送一段 JSON 数据。

  {
    "access_token":"ACCESS_TOKEN",
    "token_type":"bearer",
    "expires_in":2592000,
    "refresh_token":"REFRESH_TOKEN",
    "scope":"read",
    "uid":100101,
    "info":{...}
  }

上面 JSON 数据中,access_token字段就是令牌,A 网站在后端拿到了。

密码式(password)

如果你高度信任某个应用, 也允许用户把用户名和密码,直接告诉该应用。该应用就使用你的密码,申请令牌,这种方式称为”密码式”(password)。

第一步,A 网站要求用户提供 B 网站的用户名和密码。拿到以后,A 就直接向 B 请求令牌。

https://oauth.b.com/token?
    grant_type=password&
    username=USERNAME&
    password=PASSWORD&
    client_id=CLIENT_ID

上面 URL 中,grant_type参数是授权方式,这里的password表示”密码式”,username和password是 B 的用户名和密码。

第二步,B 网站验证身份通过后,直接给出令牌。注意,这时不需要跳转,而是把令牌放在 JSON 数据里面,作为 HTTP 回应,A 因此拿到令牌。

这种方式需要用户给出自己的用户名/密码,显然风险很大,因此只适用于其他授权方式都无法采用的情况,而且必须是用户高度信任的应用。

客户端凭证(client credentials)

凭证式(client credentials),适用于没有前端的命令行应用,即在命令行下请求令牌。

第一步,A 应用在命令行向 B 发出请求。

  https://oauth.b.com/token?
    grant_type=client_credentials&
    client_id=CLIENT_ID&
    client_secret=CLIENT_SECRET

上面 URL 中,grant_type参数等于client_credentials表示采用凭证式,client_idclient_secret用来让 B 确认 A 的身份。

第二步,B 网站验证通过以后,直接返回令牌。

这种方式给出的令牌,是针对第三方应用的,而不是针对用户的,即有可能多个用户共享同一个令牌。

2、应用管理

2.1、添加

2.2、编辑

2.3、删除

2.4、列表-功能按钮

接口授权

接口授权申请

删除:删除授权的接口数据
关闭:关闭页面
选择:选择接口授权数据

全部授权:全部授权接口
搜索:搜索接口数据
重置:重置搜索数据
取消:关闭选择器页面
清空:清空已选择的列表数据
选择:选择授权的列表数据【申请授权】

注意:在接口授权内审批已申请的授权

3、接口管理

3.1、添加

应用标识:选择应用管理数据【应用选择器】
接口名称:自定义名称
接口标识:自定义标识
接口地址:地址数据
频次:次数
测试频次:次数
提交限制:是否限制
作用域:授权调用,匿名调用
接口描述:描述信息

3.2、导入

Swagger地址:
导入模式:

1、普通模式:存在的接口不会重复导入,只能导入新增的接口;
2、覆盖模式:会删除本次导入的所有应用及对应接口,再全量导入;

3.3、编辑

应用标识:选择应用管理数据【应用选择器】
接口名称:自定义名称
接口标识:不可编辑
接口地址:地址数据
频次:次数
测试频次:次数
提交限制:是否限制
作用域:授权调用,匿名调用
接口描述:描述信息

3.3、删除

4、接口授权

4.1、通过

通过后,生效授权

4.1、不通过

不通过后,不生效授权

4.1、全部通过

全部提交的授权,全部通过授权

4.1、接口日志

作者:测试人员  创建时间:2024-04-17 14:26
最后编辑:测试人员  更新时间:2024-11-20 11:18