编写版本:v3.5.1
适用版本:v3.5.0+
服务端
服务端人员须知
第三方平台接入需要服务端人员提供一些必要信息,本文档会指引服务端人员获取对应信息后填入接入端文档,形成完整的接入文档,以此帮助第三方完成接入。
本文档主要分为两个部分:
1、服务端需要提供哪些信息给接入端?
2、服务端在哪里获取这些信息?
一、服务端需要提供的的信息
1、IP地址以及端口信息
接入文档需要填入IBPS系统的IP和端口。
2、第三方平台的基础信息
基础信息包括client_id
、client_secret
以及redirect_uri
。
其中
标识
以及密钥
对应着client_id
和client_secret
,第三方Domain对应redirect_uri
,也就是回调地址,同时回调地址无须加密。
在服务端看到的基础信息是未经加密的,不可直接交给接入端。
3、用户密码的加密策略
用户密码的加密策略方式和对应的公钥。
可以直接提供加密策略和公钥,也可提供接口相关内容和公钥。
用户密码属于敏感信息,需要对其进行加密,目前默认的加密方式为RSA加密。服务端人员也可采用其他加密策略。
二、服务端如何获取信息
第三方平台的创建
第三方平台在IBPS平台上的创建和必要的认证信息获取。
使用具有相应权限的账号,登录IBPS系统,进入【系统管理】模块,选择【授权管理】中的【第三方接入】。
点击添加按钮,目前只支持
授权码
模式。
- 第三方平台创建成功
第三方平台授权
选中新建的第三方平台,点击通过按钮,完成授权。
第三方平台加密信息获取
可在platform服务启动时在日志文件里面找到对应的加密值。
用户密码的加密策略
- 请求URL(微服务版本):http://ip:port/ibps/oauth2/v3/user/client/encrypt/get
- 请求URL(单体版本):http://ip:port/user/client/encrypt/get
URL中的ip需要替换为请求部署IBPS的ip。
URL中的port需要替换为请求部署IBPS的网关端口。- 请求参数:
暂无- 请求方式:
GET- 返回参数描述:
请求成功案例:
{
"state": 200,
"request": null,
"message": "",
"cause": "",
"variables": {},
"data": {
"encrypt": true,
"encryptName": "rsa"
}
}
2、获取公钥(RSA加密):
向需要进行授权的IBPS系统的管理员或后端开发维护人员,获取相应加密策略的公钥。(虽同为IBPS系统,但部署不同地点时的公钥和私钥不尽相同,望注意)
RSA加密相关的配置文件在ibps-basic-response
的config/application-common.yml
文件中。
相关代码演示:
user:
client-encrypt:
encrypt: ${CLIENT_ENCRYPT:true}
encrypt-name: ${CLIENT_ENCRYPT_NAME:rsa}
# rsa
public-key: ${CLIENT_ENCRYPT_PRIMARY_KEY:} # 公钥
# aes
iv-key: ${CLIENT_ENCRYPT_IV_KEY:}