接入流程

1.确认应用场景
非平安的外部系统,请使用手机号进行注册登陆。
平安的内部系统,请使用UM账号直接登录,跳过第二步。
平安的内部系统,请使用UM账号直接登录,跳过第二步。
2.注册平安开放平台账号(仅限非平安的外部系统)
3.登录平安开放平台
使用注册账号
(内部用户使用UM账号,AD账号或快乐平安扫码) 登录平安开放平台。
4.创建应用
应用区域为调用方所在的区域,aceess_token有效周期填10~20 单位:天,关于aceess_token的介绍 请参见客户端模式接入。
5.申请资源权限
待应用审核通过后,点击应用管理,再进入未申请资源列表。根据文档资料中相关OPEN
API描述申请所在OPEN API组。
然后输入开发接口人,填服务提供方的开发者的UM
6.访问OPEN API
待OPEN API组权限申请通过后,即可根据不同认证模式访问OPEN API。
参见客户端模式
参见客户端模式
客户端模式接入
Open API 调用流程图(建议):
第1步:获取Access_Token
获取Access_Token 之 请求地址
按照此路径获取请求地址:我的应用-->应用管理-->已申请资源-->查看资源-->点击具体接口,在接口调用说明里面有获取Access_Token调用的地址
获取Access_Token 之 入参说明
| 参数名称 | 传值方式 | 参数值 |
| client_id | POST 请求 | 应用ID 例如:P_PA002_ELIS_UWS(在“我的应用”列表中) |
| grant_type | POST 请求 | 授权类型 固定值:client_credentials |
| client_secret | POST 请求 | 应用密钥 例如:znD5x4d1(创建应用时返回的应用密码) |
获取Access_Token 之 出参说明
| access_token | oauth系统对获取access_token有调用限制,请将获取的token值放到本地缓存;注意token是有有效期的,当token失效时需要做相应处理,具体可以参考上方调用流程图。 |
| expires_in | 有效期 例如 :60 (单位:分钟);0表示永久有效;expires_in只是有效期参考,不以这个为唯一更新token的标准。注意调用接口返回13002和13012的错误码必须处理,可参考上方调用流程图。 |
| openid | openid |
调用示例
| 请求地址 | https://域名/oauth/oauth2/access_token 调用完整地址请到接口详情中获取 |
| POST请求(JSON格式入参) | {"grant_type":"client_credentials","client_id":"P_PA002_ELIS_UWS","client_secret":"znD5x4d1"} |
第2步:访问OpenAPI
访问OpenAPI 之 请求地址
按照此路径获取请求地址:我的应用-->应用管理-->已申请资源-->查看资源-->点击具体接口,在接口调用说明里面有调用的地址
访问OpenAPI 之 入参说明
| 参数名称 | 传值方式 | 参数值 | 必传值 |
| access_token | URL传递(URL拼接参数) | 获取到的access_token | 是 |
| request_id | URL传递(URL拼接参数) | 只要每个请求传的值不一样就可以,建议传时间戳毫秒数 | 是 |
| esg_decode_in | URL传递(URL拼接参数) | 如果调用方使用jdk方式encode,就传值jdk。不传默认使用spring | 否 |
| esg_encode_out | URL传递(URL拼接参数) | 如果服务方使用jdk方式decode,就传值jdk。如果不传默认使用spring | 否 |
| HEADER参数 | header中参数的key | 如果header中有传这些关键字作为key,请联系我们评估后再使用。providerPath、source、code、traceId、spanId、spanUUID | 否 |
| 其他参数 | 参见具体OPEN API | 参见具体OPEN API |
调用示例
| 请求地址 | https://域名/open/appsvr/query?access_token=**&request_id=** 调用完整地址请到接口详情中获取 |
| GET请求 |
访问OpenAPI 之 出参说明
| ret 返回值 | 参数说明 |
| 0 | 调用正常 |
| 13002 | 非法的access_token 请重新获取token |
| 13012 | 已失效的access_token 请重新获取token |
| 其他返回值 | 参见OPEN API 公共参数说明 |
密码模式接入
第1步:获取Access_Token
获取Access_Token 之 请求地址
| 环境 | 分区 | 地址 | 请求协议 | 请求方式 |
| prd | DMZ | https://api.pingan.com.cn/oauth/oauth2/access_token | https | GET |
| stg | DMZ | https://test-api.pingan.com.cn:20443/oauth/oauth2/access_token | https | GET |
获取Access_Token 之 入参说明
| 参数名称 | 传值方式 | 参数值 |
| client_id | URL传递(URL拼接参数) | 应用ID 例如:P_PA002_ELIS_UWS(在“我的应用”列表中) |
| grant_type | URL传递(URL拼接参数) | 授权类型 固定值:password |
| username | URL传递(URL拼接参数) | 用户名 |
| password | URL传递(URL拼接参数) | 用户密钥 |
获取Access_Token 之 出参说明
| access_token | access_token |
| expires_in | 有效期 例如 :60 (单位:分钟);0表示永久有效;expires_in只是有效期参考,不以这个为唯一更新token的标准。注意调用接口返回13002和13012的错误码必须处理,可参考上方调用流程图。 |
| openid | openid |
调用示例
示例:外网应用(DMZ)在生产环境(prd)请求获取access_tokenhttps://api.pingan.com.cn/oauth/oauth2/access_token?client_id=P_xx&grant_type=password&username=**&password=**
第2步:访问OpenAPI
访问OpenAPI 之 请求地址
| 环境 | 分区 | 地址 | 请求协议 |
| prd | DMZ | https://api.pingan.com.cn/open/OPENAPI的uri | https |
| stg | DMZ | https://test-api.pingan.com.cn:20443/open/OPENAPI的uri | https |
访问OpenAPI 之 入参说明
| 参数名称 | 传值方式 | 参数值 | 必传值 |
| access_token | URL传递(URL拼接参数) | 获取到的access_token | 是 |
| request_id | URL传递(URL拼接参数) | 只要每个请求传的值不一样就可以,建议传时间戳毫秒数 | 是 |
| esg_decode_in | URL传递(URL拼接参数) | 如果调用方使用jdk方式encode,就传值jdk。不传默认使用spring | 否 |
| esg_encode_out | URL传递(URL拼接参数) | 如果服务方使用jdk方式decode,就传值jdk。如果不传默认使用spring | 否 |
| HEADER参数 | header中参数的key | 如果header中有传这些关键字作为key,请联系我们评估后再使用。providerPath、source、code、traceId、spanId、spanUUID | 否 |
| 其他参数 | 参见具体OPEN API | 参见具体OPEN API |
调用示例
示例:外网应用(DMZ)在生产环境(prd)发起请求https://api.pingan.com.cn/open/appsvr/queryList?access_token=**&request_id=1403552445&userName=zhang3
访问OpenAPI 之 出参说明:参见API文档中具体的OpenAPI出参说明
客户端认证模式
客户端模式(Client Credentials
Grant)指客户端以自己的名义,而不是以用户的名义,向"服务提供商"进行认证。
(A)客户端向认证服务器进行身份认证,并要求一个访问令牌。
(B)认证服务器确认无误后,向客户端提供访问令牌。
A步骤中,客户端发出的HTTP请求,包含以下参数:
client_id:表示客户端ID,必选项。
grant_type:表示授权类型,此处的值固定为"client_credentials",必选项。
client_secret:表示客户端密码,必选项。
B步骤中,认证服务器向客户端发送访问令牌。
(B)认证服务器确认无误后,向客户端提供访问令牌。
A步骤中,客户端发出的HTTP请求,包含以下参数:
client_id:表示客户端ID,必选项。
grant_type:表示授权类型,此处的值固定为"client_credentials",必选项。
client_secret:表示客户端密码,必选项。
B步骤中,认证服务器向客户端发送访问令牌。
SDK使用说明(应安全要求,SDK加密已下线)
第一步:引入相关jar包
引入esg-sdk-1.0.0.jar开发包(秘钥长度512),并同时引入相关依赖包:commons-codec-1.7.jar
log4j-1.2.15.jar
或esg-sdk-1.1.1.jar开发包(秘钥长度2048),并同时引入相关依赖包:
commons-codec-1.7.jar
slf4j-api-1.7.25.jar
第二步:生成第三方应用公私钥对,保存到对应的文件中
CommonUtils.generateRSAKeyPair(String publicKeyFilename,String privateKeyFileName)| 参数 | 说明 |
| publicKeyFilename | 保存第三方应用公钥的文件路径 |
| privateKeyFileName | 保存第三方应用私钥的文件路径 |
第三步:生成AES密钥
AESUtils.generateKey()//返回值:AESKey字符串第四步:调用OpenAPI服务
//返回值:响应结果字节数组send(byte[] bodyParamsBytes, String appPrivateKeyStr, String pinganPublicKeyStr, String AESKey,String signAlgorithmName, String url,String method, Map
| bodyParamsBytes | API请求参数 |
| appPrivateKeyStr | 第三方应用私钥 |
| pinganPublicKeyStr | 平安开放平台公钥 |
| AESKey | AES密钥 |
| signAlgorithmName | 签名算法名称(目前固定填写RSA) |
| url | OpenAPI的URL,注:请在该url中添加access_token、request_id参数 |
| method | HTTP请求方法,支持GET、POST、PUT、DELETE |
| headerParamsMap | 自定义的http header属性信息 |
应用转让/共享
1.应用属主转让/共享
1.1 进入【共享与转让】,可以见到【新增】按钮(如果为灰色,表示该应用仅是共享给你,非属主,不能再做转让/共享操作)

1.2 点击【新建】按钮,选择共享或转让。 申请原因: 可根据实际情况选择,不影响功能
转让: 应用权限转让他人,转让后无权限使用该应用

共享: 与他人一起共享该应用,授权后可以取消共享

点击【确认】后,再联系该应用所属的子系统运营,在esg-admin的【PORTAL管理】-【共享与转让审核】里审批,完成整个流程
2.非应用属主申请转让/共享,仅限内部用户可操作
2.1 发起应用转让/共享申请


2.2 申请后会发起EOA签报审批,可查看申请情况


续期补录
1.未补录有效期的接口,无法在开放平台续期
2.补录有效期接口需至API治理管理平台(ESG-ADMIN)->【OPENAPI管理】-> 【导入未续期OPENAPI】)功能中处理
3.外部用户需联系内部对应服务方处理
申请/续期的接口联系人
1.接口联系人一般是调用方和服务方对接的人员,申请/续期资源组的首个审批人员
2.接口联系人可通过填写或下拉选择
3.若无法填写接口联系人的服务方,是因为服务方限定了审批人员,则只能通过下拉框选择对应人员
4.若无法填写,并且也无接口联系人选择项,则需联系服务方运维去ESG-ADMIN配置对应的审批人员,比如金服需要配置业务员角色
添加方法(该地址仅平安内网用户可访问,外部用户可发给内部服务方人员)
版权所有 © 中国平安保险(集团)股份有限公司 未经许可不得复制、转载或摘编,违者必究!
Copyright © PING AN INSURANCE (GROUP) COMPANY OF CHINA ,LTD. All Rights Reserved
Copyright © PING AN INSURANCE (GROUP) COMPANY OF CHINA ,LTD. All Rights Reserved

