授权管理
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_id
和client_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-11-20 11:18