自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何設(shè)計(jì)安全的 API 調(diào)用?

開(kāi)發(fā) 前端
服務(wù)器收到包含請(qǐng)求數(shù)據(jù)和鑒權(quán)標(biāo)頭的請(qǐng)求。它從請(qǐng)求中提取必要的字段,并使用存儲(chǔ)在服務(wù)器端的 API Key 生成簽名(hmac B)。

如何為網(wǎng)站設(shè)計(jì)安全的 API 訪問(wèn)?

我們?cè)谠O(shè)計(jì)一個(gè)網(wǎng)站或平臺(tái)的時(shí)候,經(jīng)常需要向用戶開(kāi)放 API 訪問(wèn)。這樣用戶就可以程序化地調(diào)用一些功能,舉幾個(gè)例子:

  1. 交易所開(kāi)放 API 讓用戶可以進(jìn)行低時(shí)延的程序化交易,
  2. 微信公眾號(hào)平臺(tái)開(kāi)放 API 讓三方工具進(jìn)行運(yùn)營(yíng)管理工作,
  3. Stripe 開(kāi)放 API 讓商家和其他平臺(tái)能很好地集成支付功能。

當(dāng)我們向用戶開(kāi)放 API 訪問(wèn)時(shí),我們需要確保每次 API 調(diào)用都經(jīng)過(guò)鑒權(quán)。這意味著我們需要確認(rèn)用戶是他們所聲稱的身份。

我們一般使用兩種常見(jiàn)的方法來(lái)進(jìn)行鑒權(quán):

  1. 基于令牌的身份驗(yàn)證
  2. HMAC(基于哈希的消息驗(yàn)證碼)驗(yàn)證

下圖說(shuō)明了它們的工作原理。

圖片

01 基于令牌

第 1 步

用戶在客戶端輸入密碼,然后客戶端將密碼發(fā)送到鑒權(quán)服務(wù)器。

第 2 步

鑒權(quán)服務(wù)器驗(yàn)證密碼并生成一個(gè)有有效期的令牌。

第 3 步和第 4 步

現(xiàn)在,客戶端可以發(fā)送請(qǐng)求,使用 HTTP 頭中帶有的令牌訪問(wèn)服務(wù)器資源。這種訪問(wèn)在令牌過(guò)期前一直有效。

02 基于 HMAC

這種機(jī)制通過(guò)使用哈希函數(shù)(SHA256 或 MD5)生成消息驗(yàn)證碼(簽名)。

第 1 步和第 2 步

服務(wù)器生成兩個(gè)密鑰,一個(gè)是公共 APP ID(公鑰),另一個(gè)是 API Key(私鑰)。

第 3 步

現(xiàn)在我們?cè)诳蛻舳松梢粋€(gè) HMAC 簽名(hmac A)。該簽名是根據(jù)圖中列出的一組字段生成的。注意這里會(huì)加入請(qǐng)求的時(shí)間戳,這樣一個(gè) HMAC 簽名是有有效期的,不會(huì)一直有效。

第 4 步

客戶端發(fā)送請(qǐng)求來(lái)訪問(wèn)服務(wù)器資源,HTTP 頭中包含 hmac A。

第 5 步

服務(wù)器收到包含請(qǐng)求數(shù)據(jù)和鑒權(quán)標(biāo)頭的請(qǐng)求。它從請(qǐng)求中提取必要的字段,并使用存儲(chǔ)在服務(wù)器端的 API Key 生成簽名(hmac B)。

第 6 步和第 7 步

服務(wù)器會(huì)比較 hmac A(在客戶端生成)和 hmac B(在服務(wù)器端生成)。如果兩者匹配,請(qǐng)求的資源將返回給客戶端。

責(zé)任編輯:武曉燕 來(lái)源: ByteByteGo
相關(guān)推薦

2023-12-28 11:54:54

2024-10-15 08:08:13

2019-06-13 09:00:00

API攻擊數(shù)據(jù)安全

2016-12-30 14:47:21

設(shè)計(jì)RESTfulAPI

2022-09-20 07:31:40

CISOAPI安全安全基礎(chǔ)設(shè)施

2014-08-13 19:14:26

2015-03-27 18:05:00

2021-05-26 08:49:15

API接口安全

2014-12-22 10:28:47

2022-03-15 12:43:44

Web APIAPI

2014-03-25 10:09:46

2013-07-01 11:01:22

API設(shè)計(jì)API

2022-09-15 10:42:21

API安全網(wǎng)絡(luò)攻擊

2023-08-28 08:00:46

2019-03-13 08:28:28

物聯(lián)網(wǎng)設(shè)計(jì)物聯(lián)網(wǎng)安全物聯(lián)網(wǎng)

2021-10-18 10:29:15

API漏洞網(wǎng)絡(luò)安全

2025-03-13 10:14:44

2020-09-22 07:50:23

API接口業(yè)務(wù)

2013-05-15 09:31:17

2022-04-26 10:13:02

API漏洞安全
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)