Eolink征文活动--如何使用Eolink安全有效进行API管理

简介: Eolink征文活动--如何使用Eolink安全有效进行API管理

文章目录

前言

一、eolink初感受

工作空间设置

API应用导航

二、个人测试API的原始方法

1.现测试API和开发的操作方法

2.现测试API的核心代码

3.控制台查看API数据详情

4.个人API管理总结

三、Eolink实战API测试及管理

1.微信公众号API对接管理

2.GPS经纬度API对接管理

3.小鹅通API对接管理

4.zabbix监控API对接管理

5.不同API项目管理目录


前言

目前从事数据可视化大屏的开发,接触最多的就是API:后端数据的输入调用、第三方平台API的授权调用。不同的API有不同的鉴权方式,有不同的爬取方式,随着每天大量的API增长,公开Web API的调用…项目周期越长,给API管理和调用到来的就是“脑细胞”的不断死亡和发际线的提升。未来API将会使用的越来越多,每日API调用量在不断飙升,如何能够安全有效将这些API管理起来,对一个开发者、企业都是至关重要的环节。


一、eolink初感受

工作空间设置

从账户个性化设置、工作空间设置、订单管理到帮助中心,菜单导航走的是清爽简洁风。


39ba85c73683495b9ce64a36f9729f48.jpg


62a6c46147ec402d818f11be1855aee2.jpg


API应用导航

API应用:API管理、API自动化测试、API监控、API商店、API共享,将开发者能够应用到的功能,也做了集合链接,方便快捷。


40f3fc505a0649cf958863df94bd45a8.jpg


二、个人测试API的原始方法

1.现测试API和开发的操作方法

1.配置本地域名;

2.调用JQ库,配置ajax;

3.F12,在控制台查看对应的API数据;

4.按照开发需求进行数据过滤、数据清洗和数据梳理等工作;

2.现测试API的核心代码

    $(function () {
        $.ajax({
            type: 'post',
            url: "http://*****/service/page/sensor/gps/simple.json?paged=1&pageSize=100",
             dataType: "json",
            success: function (res) {
                console.log(res);
            },
            error: function (err) {
                console.log(err)
            }
        });
    })

3.控制台查看API数据详情


ec3ac3b1904f46f5855879b310686af3.png


4.个人API管理总结

对于不同的API测试总有不同的疑难杂症存在的,从POSTMAN、Apipost以及phpstorm自带的API测试工具等都有涉猎,但是总没有称心如意的API管理工具。开发工作的匆忙,也总是在想等自己有时间了好好做个API的测试管理工具,也总是想一下中流逝了。依然延续着新的API采用如上的模式进行测试。

但是日经月累的开发,没有及时的复盘和总结,在效率管理上,自己开发API接口的局限性上都有明显的短板和不足。


三、Eolink实战API测试及管理

1.微信公众号API对接管理

使用微信公众号API获取access_token:


1.请求协议:HTTPS

2.请求方法:GET

3.请求链接:https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=wx44604d***&secret=1c09ed243eb101**,在测试环境中替换成自己对应的appid和secret即可。

4.配置方式如下:


96b96211265b41a2b22b7e8350a7daf0.png


5.测试中常见问题


be9778bdd99a4140b08bd9e6425a52f1.png


点击【发送[通过服务器]】按钮,由于微信公众号的鉴权规则比较多,但是错误提示比较清晰且有对应的错误代码,仅将个人在测试中遇见的文件进行罗列:

IP未设置成白名单

{
    "errcode": 40164,
    "errmsg": "invalid ip 47.103.65.214 ipv6 ::ffff:47.103.65.214, not in whitelist rid: 637e08bf-613a879e-14d3bd18"
}

appsecret错误

{
    "errcode": 40125,
    "errmsg": "invalid appsecret rid: 637e093a-731aa1b3-32881ae7"
}

成功则出现下面内容:

{
    "access_token": "63_RundNM9kRkondLvjgrig4pZpKr***",
    "expires_in": 7200
}

2.GPS经纬度API对接管理

目标: 返回对应的json数据


1.请求协议:HTTP

2.请求方法:POST

3.请求链接:http://*****/service/page/sensor/gps/simple.json?paged=1&pageSize=100。

4.请求参数:

contentType: "application/json;",
 headers: {"USER-KEY": "426aad8a150a4d85a8fa7**"},
{
"group_id": 141,
"start_time": "2022-11-12 15:15:08",
"end_time":"2822-11-29 14:15:88"
 }

5.Eolink请求设置





6.JQ的API请求方式

        $.ajax({
            type: 'post',
            url: "http://***/service/page/sensor/gps/simple.json?paged=1&pageSize=100",
            data: JSON.stringify(
                {
                    group_id: 140,
                    start_time: "2022-11-12 14:15:08",
                    end_time: "2022-11-12 18:00:00"
                }),
            headers: {
                "USER-KEY": "426aad8a15**"
            },
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (res) {
                console.log(res);
            },
            error: function (err) {
                console.log(err)
            }
        });

3.小鹅通API对接管理

目标:调用该接口获取 access_token


1.请求方式:GET

2.接口地址:https://api.xiaoe-tech.com/token

3.请求参数:

{
    "app_id": "appxxxxxxxxxxx",
    "client_id": "xopxxxxxxxxxx",
    "secret_key": "xxxxxxxxxxxxx",
    "grant_type": "client_credential"    //获取token时, grant_type = client_credential
}


c48c8b36b7c34cd1b4991466af313dde.png


4. 获取access_token示例(php示例)

class TokenManage
{
    ...
    const URL = "https://api.xiaoe-tech.com/token";
    private $app_id = "appXXXXXXXXXX";  // 店铺的业务id
    private $client_id = "xopXXXXXXXXXX";    // 应用的唯一标识
    private $secret_key = "XXXXXXXXXX";    // 应用的凭证秘钥
    private $grant_type = "client_credential";    
    public function requestToken(){
        $params = [
            "app_id" => $this->app_id,
            "client_id" => $this->client_id,
            "secret_key" => $this->secret_key,
            "grant_type" => $this->grant_type
        ];
        // 发起请求    
        $result = Http::curlGet(self::URL, $params);
        if (!empty($result['body']) && $result['body']['code'] == 0) {
            $this->writeFile($result['body']['data']);
            return $result['body']['data']['access_token'];
        }
        return false;
    }
    ...
}

4.zabbix监控API对接管理

1.鉴权配置


add1142c1be247ed87de936f614f98d6.png


2.头部配置:application/json-rpc


d575ed3fcfbe4996ac7e28d679767d63.png


{
           "jsonrpc": "2.0",
           "result": "0424bd59b807674191e7d77572075f33",
           "id": 1
       }

5.不同API项目管理目录


6530d117df1a46c5b0465c4e6ce620fb.png


相关文章
|
17天前
|
Kubernetes 安全 Cloud Native
云上攻防-云原生篇&K8s安全-Kubelet未授权访问、API Server未授权访问
本文介绍了云原生环境下Kubernetes集群的安全问题及攻击方法。首先概述了云环境下的新型攻击路径,如通过虚拟机攻击云管理平台、容器逃逸控制宿主机等。接着详细解释了Kubernetes集群架构,并列举了常见组件的默认端口及其安全隐患。文章通过具体案例演示了API Server 8080和6443端口未授权访问的攻击过程,以及Kubelet 10250端口未授权访问的利用方法,展示了如何通过这些漏洞实现权限提升和横向渗透。
云上攻防-云原生篇&K8s安全-Kubelet未授权访问、API Server未授权访问
|
2月前
|
人工智能 安全 API
API应用安全风险倍增,F5助企业赢得关键安全挑战
API应用安全风险倍增,F5助企业赢得关键安全挑战
47 11
|
2月前
|
安全 Java API
【性能与安全的双重飞跃】JDK 22外部函数与内存API:JNI的继任者,引领Java新潮流!
【9月更文挑战第7天】JDK 22外部函数与内存API的发布,标志着Java在性能与安全性方面实现了双重飞跃。作为JNI的继任者,这一新特性不仅简化了Java与本地代码的交互过程,还提升了程序的性能和安全性。我们有理由相信,在外部函数与内存API的引领下,Java将开启一个全新的编程时代,为开发者们带来更加高效、更加安全的编程体验。让我们共同期待Java在未来的辉煌成就!
60 11
|
2月前
|
安全 Java API
【本地与Java无缝对接】JDK 22外部函数和内存API:JNI终结者,性能与安全双提升!
【9月更文挑战第6天】JDK 22的外部函数和内存API无疑是Java编程语言发展史上的一个重要里程碑。它不仅解决了JNI的诸多局限和挑战,还为Java与本地代码的互操作提供了更加高效、安全和简洁的解决方案。随着FFM API的逐渐成熟和完善,我们有理由相信,Java将在更多领域展现出其强大的生命力和竞争力。让我们共同期待Java编程新纪元的到来!
86 11
|
3月前
|
安全 API 数据处理
后端开发中的API设计哲学:简洁、高效与安全
【8月更文挑战第29天】 在后端开发的广阔天地中,API(应用程序编程接口)的设计如同编织一张无形的网,连接着数据的海洋与应用的大陆。本文将深入探讨如何打造一个既简洁又高效的API,同时不忘筑牢安全的防线。我们将从API设计的基本原则出发,逐步剖析如何通过合理的结构设计、有效的数据处理和严格的安全措施来提升API的性能和用户体验。无论你是初学者还是资深开发者,这篇文章都将为你提供宝贵的视角和实用的技巧,帮助你构建出更优秀的后端服务。
|
4月前
|
安全 API 网络架构
Python RESTful API设计新篇章,打造高效、易用、安全的Web服务接口,你准备好了吗?
【7月更文挑战第22天】在数字化转型中,RESTful API借助Python的Flask和Django REST Framework,提供高效、易用和安全的接口设计。Flask示例展示了简洁的CRUD操作,Swagger等工具增进API文档的易用性,而HTTPS、JWT和输入验证确保安全性。Python RESTful API设计涉及效率、可用性和安全,是不断进化的Web服务接口的关键。准备好踏上这一新篇章了吗?一起探索,创造卓越!
56 2
|
4月前
|
存储 JSON 安全
OAuth2与JWT在API安全中的角色:技术深度解析
【7月更文挑战第20天】OAuth2和JWT作为两种重要的安全协议,在API安全中发挥着不可或缺的作用。OAuth2通过提供灵活的授权框架,实现了对资源的细粒度访问控制;而JWT则通过其紧凑性和自包含性,确保了身份验证和信息传输的安全性。在实际应用中,将OAuth2和JWT结合使用,可以构建出既强大又安全的API服务,为用户提供更加安全、可靠和便捷的数字体验。
|
4月前
|
安全 API 网络安全
Django RESTful API安全实践
【7月更文挑战第19天】构建安全的Django RESTful API需要综合考虑多个方面,包括身份验证与授权、数据验证与清洗、安全的HTTPS连接、限制请求频率以及审计与日志记录等。通过实施这些安全实践,可以有效地保护API服务免受各种安全威胁的侵害,确保用户数据的安全性和服务的可用性。开发者在开发RESTful API时,应始终将安全性放在首位,确保API服务的安全可靠。
|
4月前
|
安全 Java API
构建基于Spring Boot的REST API安全机制
构建基于Spring Boot的REST API安全机制
|
4月前
|
数据可视化 安全 API
数据库开放权限风险高,API非唯一选择:DataV为您开启安全高效的数据可视化之旅
良好的用户体验:DataV注重用户体验设计,提供了丰富的交互效果和动画效果,使得数据可视化大屏更加生动、吸引人。这有助于提升用户的参与度和满意度,促进数据的广泛应用