Python怎样接入开放平台
发布时间:2022-07-12 09:09:37 所属栏目:安全 来源:互联网
导读:当前大型top企业都有非常成熟的开放平台业务,比如微信开放平台、新浪微博开放平台、支付宝开放平台等。开放平台的发展为第三方个人或企业提供了巨大的机遇。开发者想要接入各大开放平台,必须要遵从开放平台的安全机制,实现业务逻辑的前提,首先就是要实现
当前大型top企业都有非常成熟的开放平台业务,比如微信开放平台、新浪微博开放平台、支付宝开放平台等。开放平台的发展为第三方个人或企业提供了巨大的机遇。开发者想要接入各大开放平台,必须要遵从开放平台的安全机制,实现业务逻辑的前提,首先就是要实现签名验签、加密解密以及授权认证机制。 一、引言 开放平台是指大型企业将自身的数据能力、计算能力、用户体系、产品能力等资源以业务+场景+解决方案+技术的优势包装出来,通过openAPI、openSDK、openH5等形式开放给第三方个人或企业使用,实现第三方和服务提供方企业自身的互利共赢。 当前各大厂的开放平台都已经比较成熟,比如说微信开放平台、新浪微博开放平台、支付宝开放平台等。同时,各大商业银行也在大力发展自身的开放银行业务。作为第三方开发者,通常来说接入开放平台有比较统一的流程,下图给出了微信开放平台的开通流程。 在web开发中当前也有很多公司诸如Instagram, Quora, Lyft, Dropbox、知乎等后端都采用python开发。本文介绍基于python的签名验签、加密解密以及授权认证测试的实现。 二、签名验签 第三方个人或企业通过开放平台门户网站提交成为开发者的申请,开发者资质认证通过后,开发者通常会从服务提供方获得自身的appid、appsecret以及证书,其中证书中包含第三方开发者的私钥以及服务提供方的公钥。 服务提供方保留第三方开发者的公钥以及自身的私钥。开发者通过自身的私钥进行签名,发送报文到开放平台服务器,服务器验签通过后会用自身的私钥对返回给开发者的报文进行签名,开发者接收到返回报文后利用服务方提供的公钥进行验签。通过这个过程开发者和服务方就可以相互确认发送的报文没有被中间人篡改。 本文中签名验签用RSA算法进行演示,使用到了python的Crypto库,需使用pip或conda等其他包管理工具进行安装。 一般情况下开发者需要对报文各个字段进行预处理。 将请求字典中的空值,或者没必要的参数都去掉(如sign、sign_type等); 对字典进行排序(按ASCII码从小到大); 把字典中的所有元素,按照"参数=参数值"的模式用"&"字符拼接成字符串。 (编辑:云计算网_泰州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |