1 摘要签名认证方式
API网关提供前端签名及验签能力,前端签名及验签主要两点用途:

验证客户端请求的合法性,确认请求中携带授权后的AK生成的签名;

防止请求数据在网络传输过程中被篡改。

API的拥有者可以在API网关控制台的应用管理页面生成APP,每个APP会携带一对签名密钥(APP Key和APP Secret),API拥有者将API授权给指定的APP(APP可以是API拥有者颁发或者API调用者所有)后,API调用者就可以用APP的签名密钥来调用相关的API了。

客户端调用 API 时,需要使用已授权签名密钥对请求内容的关键数据进行加密签名计算,并且将APP Key和加密后生成的字符串放在请求的 Header 传输给API网关,API网关会读取请求中的APP Key的头信息,并且根据APP Key的值查询到对应的APP Secret的值,使用APP Secret对收到的请求中的关键数据进行签名计算,并且使用自己的生成的签名和客户端传上来的签名进行比对,来验证签名的正确性。只有签名验证通过的请求才会发送给后端服务,否则API网关会认为该请求为非法请求,直接返回错误应答。

API网关只会验证安全认证类型为“阿里云APP”或者“OpenID Connect & 阿里云APP”两种类型的API请求的签名,其他安全类型的API请求不会验证签名。

2 使用SDK调用
签名计算的详细实现可以参考API网关提供的SDK,在API网关控制台的下面两个页面中可以下载Java/Android/Objective-C的带源码的SDK:

开放API-SDK/文档自动生成

调用API-已授权的API的SDK

具体可参考使用SDK调用API

3 摘要签名认证方式原理说明
3.1签名生成流程和认证流程概述

3.1.1 前置条件

API的调用方需要在调用API之前获取到已经授权给对应API的签名密钥对:

APP Key

APP Secret

Nonce Used1相关推荐

  1. php 获取signature,PHP开发微信无法获取到signature,timestamp,nonce

    namespace HomeController; use ThinkController; define("TOKEN","weixin"); /* *微信的 ...

  2. nonce和timestamp在Http安全协议中的作用

    前段时间给客户网站做新浪微博账号登录功能,对OAuth协议以及相关的一些安全协议做了一些研究,顺便就记录一下学习心得吧.在这里就不打算具体讲OAuth的协议流程了,而是针对OAuth请求头里的nonc ...

  3. 解决问题的反馈机制_谈谈HBase中的Nonce机制

    最近在读hbase源码关于rpc的一些实现细节,想正好趁此机会和大家分享一下我理解到的hbase关于Nonce机制的实现. Nonce机制的来源 Nonce这个词由来已久,且在各个领域都会有相对应的名 ...

  4. 以太坊中的nonce

    以太坊创建每个账户时初始nonce=0,以后每次交易nonce+1,防止以太坊中的replay attack. 参考:https://www.bilibili.com/video/BV1Vt411X7 ...

  5. 区块链中nonce与难度系数

    一.简述: 简言之,区块链是去中心化的分布式数据库.而sha-256就是区块哈希的算法.计算的难度:难度系数越大目标值越小,只有小于目标值的哈希才是有效的.随机项,nonce是一个在区块头任意变化的随 ...

  6. 基于timestamp和nonce的防止重放攻击方案

    以前总是通过timestamp来防止重放攻击,但是这样并不能保证每次请求都是一次性的.今天看到了一篇文章介绍的通过nonce(Number used once)来保证一次有效,感觉两者结合一下,就能达 ...

  7. nonce值是什么?(Number once)(Number used once)cnonce(client nonce)(一个只被使用一次的任意或非重复的随机数值)

    Nonce是Number once的缩写,在密码学中Nonce是一个只被使用一次的任意或非重复的随机数值. 具体应用 在摘要认证中服务器让客户选一个随机数(称作"nonce"),然 ...

  8. 如何正确处理nonce

    问题概述 以太坊系列(ETH&ETC)在发送交易有三个对应的RPC接口,分别是ethsendTransaction.ethsendRawTransaction和personal_sendTra ...

  9. 以太坊交易中的nonce和confirmation

    1. 以太坊交易中的nonce及其价值 1.1 以太坊交易中的nonce值 在以太坊中,每笔交易都有一个nonce值,该nonce值代表的是从该交易发起地址发出的交易数.(当存在使用同一地址从多个客户 ...

最新文章

  1. 自动生成低精度深度学习算子
  2. oracle 日志注册,Oracle日常维护中管理用户以及重做日志文件的方法
  3. struts2采用convention-plugin实现零配置
  4. 主页被篡改修正方法(续)
  5. LiveVideoStack成立5周年生日快乐!一路走来,感谢有你!
  6. 机器学习--Lasso回归(LassoRegression)
  7. 模拟——玩具谜题(洛谷 P1563)
  8. python 3.28 第三章 函数嵌套/名称空间//内置名称空间/全局名称空间/局部名称空间/作用域/函数对象/闭包函数。...
  9. linux 软件 tar deb rmp,deb、rpm、tar.gz三种Linux软件包的区别
  10. 分享一个mysql的docker-compose.yml
  11. 学术壁报模板_电子壁报 | 中华医学会第十四次全国妇产科学学术会议
  12. 中科院分区 计算机科学与技术专业就业前景,2020年中科院分区(升级版)最新数据分析...
  13. JDownloader 2 for Mac(百度云无限速下载工具)内附安装教程,需要 macOS 11.x系统
  14. linux下sybase创建数据库,教小白搭建sybase数据库环境
  15. 牛客网-调整数组顺序使奇数位于偶数前面
  16. matlab线条不平滑如何滤波,复杂曲线的包络线不平滑
  17. matlab表格数据输入方式,matlab输入excel表格数据-matlab怎么把数据写入excel
  18. 爆笑,2008最新一句话笑喷饭!
  19. java加密与解密-核心包中的部分API(2)
  20. 接口测试基础、流程、工具

热门文章

  1. 傅盛认知三部曲之二:管理本质就是认知管理
  2. QT5百度地图开发学习——qt调用JavaScript函数并传参
  3. 2018中国智造金长城奖:创新能力与行业竞争力并重
  4. Java开发必学:Java翻译器软件下载手机版
  5. unity接入讯飞AIUI(Windows SDK)
  6. JavaScript中onload()用法
  7. 新媒体研究杂志社新媒体研究编辑部新媒体研究杂志2022年第18期目录
  8. RecyclerView使用GridLayoutManager 设置间距一致大小
  9. 前端的Vue相关的项目经验
  10. excel中VBA获取指定单元格内容