首先讲一下使用API网关的原因:
我想很多公司都因API或开放API的安全性感到苦恼吧,大部分公司都会自己的API进行加密处理,或token验证,可这就能防范,其他人抓取接口进行非法操作了吗?答案是肯定的,不能。他人可能不能破解你的加密方式,或token验证方式,但他不管这些,他就是专门搞破坏,进行重放攻击,频繁的发送请求,造成服务器的负荷。还有一些公司的API根本没有做加密验证和token,就相当于裸奔的服务器,任何人只要抓取接口就就可以调用API,这非常危险。这些都是我们要使用API网关,API网关可以防止这些漏洞。
阿里云API网关能干什么:
它基本上能干有关我们遇到所有问题。所有我们很有必要集成阿里云API网关。
OK我们开始进入正题,如何配置API的
我相信看到这篇文章的童鞋,应该都是看过阿里云网关的接入文档的。难点应该是对于签名这块,我会在文章的末尾放出demo,(Java和android版本的 PS:ios我不会))
我将阿里云API接入文档整理了一下,大致分为3个模块
一:配置API
二:管理API
三:调用API
我主要讲的模块是如何调用API,当然其他两个模块我也会简单的描述一下。
一:配置API
1.前端配置
2.后端配置
先画张图来解释一下什么是前端配置什么是后端配置
具体配置细节去看官方文档:https://help.aliyun.com/document_detail/48805.html?spm=5176.doc48777.6.546.490Zm0
二.管理API
如何对已经配置好的API进行管理呢,我一句两句也讲不清楚直接看官方文档吧:https://help.aliyun.com/document_detail/29480.html?spm=5176.doc48805.6.574.P7fymx
三.调用API,这是我今天重点讲的模块
步骤:
1.创建APP
如何创建APP
首先登陆阿里云,找到控制台API网关,点击应用管理,点击右上角创建APP,然后填写APP信息,点击确定。
2.授权
首先,查看创建的APPID
然后找到API对这个APP进行授权,如果API属于自己,直接找到API进行授权,
PS:如果你是第三方需要把,APPID告诉API持有者公司,告知给予授权(一般都会有开发文档的)
3.调用API
调用示例:
官方文档调用示例:https://help.aliyun.com/document_detail/29490.html?spm=5176.doc29480.6.554.7HhxYr
我整理过后的示例:
使用的库:
//网络请求相关 compile 'io.reactivex.rxjava2:rxjava:2.0.7' compile 'io.reactivex.rxjava2:rxandroid:2.0.1' compile 'com.squareup.retrofit2:retrofit:2.1.0' compile 'com.squareup.retrofit2:adapter-rxjava2:2.2.0' compile 'com.squareup.retrofit2:converter-gson:2.1.0' compile 'com.squareup.okhttp3:okhttp:3.5.0' compile 'com.squareup.okhttp3:logging-interceptor:3.6.0' compile 'com.squareup.okio:okio:1.11.0' compile 'com.umeng.analytics:analytics:latest.integration' //签名相关 compile('org.bitbucket.b_c:jose4j:0.4.1') compile('commons-io:commons-io:2.5') compile('org.apache.directory.studio:org.apache.commons.codec:1.8')
</