国产av一二三区|日本不卡动作网站|黄色天天久久影片|99草成人免费在线视频|AV三级片成人电影在线|成年人aV不卡免费播放|日韩无码成人一级片视频|人人看人人玩开心色AV|人妻系列在线观看|亚洲av无码一区二区三区在线播放

網(wǎng)易首頁(yè) > 網(wǎng)易號(hào) > 正文 申請(qǐng)入駐

一個(gè)函數(shù)搞定GitHub Webhook:簽名驗(yàn)證與永久存儲(chǔ)實(shí)戰(zhàn)

0
分享至

GitHub的每一次代碼推送、Issue創(chuàng)建、PR合并,都會(huì)觸發(fā)一個(gè)Webhook事件。但把這些事件可靠地存下來(lái),并不是加個(gè)URL那么簡(jiǎn)單——簽名驗(yàn)證錯(cuò)了,數(shù)據(jù)就是不可信的;存儲(chǔ)結(jié)構(gòu)僵化了,不同事件類型就會(huì)互相打架。

Centrali的處理方式是把配置粒度降到單個(gè)觸發(fā)器。每個(gè)來(lái)源有自己的簽名規(guī)則:GitHub用HMAC-SHA256,Stripe用復(fù)合頭部,Shopify、Twilio各有格式。不是全局一套配置硬套所有服務(wù)商。


GitHub的簽名放在x-hub-signature-256頭部,格式是sha256=前綴加64位十六進(jìn)制摘要。這和Stripe的t=...,v1=...復(fù)合結(jié)構(gòu)完全不同,也是為什么必須按觸發(fā)器配置驗(yàn)證規(guī)則的原因。

具體實(shí)現(xiàn)分三步。先在Centrali控制臺(tái)創(chuàng)建一個(gè)叫Store GitHub Event的函數(shù),核心邏輯是提取頭部信息、解析payload、寫入無(wú)模式集合。無(wú)模式集合github-events需要提前創(chuàng)建——push事件和issues事件的字段結(jié)構(gòu)差異很大,固定schema會(huì)逼你不斷改表。

函數(shù)里取兩個(gè)關(guān)鍵頭部:x-github-event標(biāo)記事件類型,x-github-delivery是GitHub生成的唯一投遞ID。payload里的sender.login、action、repository.full_name是常用字段,但整個(gè)原始payload也要存,方便后續(xù)排查。

再到Triggers里新建觸發(fā)器,拿到一個(gè)公開URL:https://api.centrali.io/data/workspace/{your-workspace}/api/v1/http-trigger/github。把這個(gè)URL填進(jìn)GitHub倉(cāng)庫(kù)的Webhook設(shè)置里。

簽名驗(yàn)證的配置是關(guān)鍵步驟。打開"Validate Signature",選擇HMAC-SHA256算法。高級(jí)設(shè)置里的提取正則sha256=(.+)會(huì)把前綴剝掉,只留摘要本身做比對(duì)。Secret填GitHub webhook設(shè)置里生成的密鑰。

注意GitHub的簽名頭部不帶時(shí)間戳,所以沒(méi)有內(nèi)建的防重放保護(hù)。如果需要,可以單獨(dú)開啟——Centrali會(huì)跟蹤x-github-delivery值,重復(fù)ID直接拒掉。

這套流程的通用性在于:函數(shù)邏輯不變,換別的服務(wù)商時(shí)只改觸發(fā)器的簽名配置。Stripe要配復(fù)合頭部解析,Twilio可能用不同算法,但存儲(chǔ)函數(shù)可以復(fù)用。

調(diào)試建議:先在GitHub webhook設(shè)置里看投遞歷史,確認(rèn)簽名驗(yàn)證通過(guò)、響應(yīng)200。再去Centrali的函數(shù)日志里核對(duì)recordId和事件類型是否匹配。如果存的是unknown,檢查頭部名稱有沒(méi)有大小寫問(wèn)題——有些代理會(huì)改寫頭部。

整個(gè)搭建過(guò)程在免費(fèi)workspace里就能跑通,不需要部署任何基礎(chǔ)設(shè)施。對(duì)于需要審計(jì)代碼變更、做自動(dòng)化工作流的團(tuán)隊(duì),這是比直接接GitHub API更輕量的方案——事件推過(guò)來(lái)就存,不丟數(shù)據(jù),不反復(fù)輪詢。

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關(guān)推薦
熱點(diǎn)推薦
事態(tài)升級(jí)!三亞海鮮商戶集體憤怒,官方協(xié)會(huì)發(fā)聲,游客仍有條退路

事態(tài)升級(jí)!三亞海鮮商戶集體憤怒,官方協(xié)會(huì)發(fā)聲,游客仍有條退路

觀察鑒娛
2026-05-10 09:44:36
入戶調(diào)查全面鋪開,挨家挨戶上門登記,到底查什么?一文講清楚

入戶調(diào)查全面鋪開,挨家挨戶上門登記,到底查什么?一文講清楚

健身狂人
2026-05-10 15:17:47
“我家三個(gè)兒子都不見了,小的才9歲”,臺(tái)州一家長(zhǎng)急瘋深夜報(bào)警!凌晨3點(diǎn)被警察找到后,仨娃撒腿就跑……

“我家三個(gè)兒子都不見了,小的才9歲”,臺(tái)州一家長(zhǎng)急瘋深夜報(bào)警!凌晨3點(diǎn)被警察找到后,仨娃撒腿就跑……

環(huán)球網(wǎng)資訊
2026-05-10 15:25:11
澎湃回聲丨圣羅蘭解封杭州被“拉黑”街道,未回應(yīng)是否調(diào)整設(shè)置

澎湃回聲丨圣羅蘭解封杭州被“拉黑”街道,未回應(yīng)是否調(diào)整設(shè)置

澎湃新聞
2026-05-10 17:50:27
第1現(xiàn)場(chǎng)|俄烏對(duì)峙下的紅場(chǎng)閱兵:36年來(lái)首次未見坦克

第1現(xiàn)場(chǎng)|俄烏對(duì)峙下的紅場(chǎng)閱兵:36年來(lái)首次未見坦克

澎湃新聞
2026-05-09 21:40:28
中央定調(diào)!2026年養(yǎng)老金迎來(lái)好消息,養(yǎng)老金1500元漲6%難不難?

中央定調(diào)!2026年養(yǎng)老金迎來(lái)好消息,養(yǎng)老金1500元漲6%難不難?

云鵬敘事
2026-05-10 13:22:19
套路一模一樣!2026 年漢坦病毒剛露頭,西方又準(zhǔn)備好了老劇本

套路一模一樣!2026 年漢坦病毒剛露頭,西方又準(zhǔn)備好了老劇本

魔都姐姐雜談
2026-05-09 20:58:28
這才是現(xiàn)場(chǎng)攝影師該干的事!

這才是現(xiàn)場(chǎng)攝影師該干的事!

貴圈真亂
2026-05-10 09:38:47
脫離實(shí)際的報(bào)價(jià)遭冷遇,世界杯中國(guó)轉(zhuǎn)播費(fèi)從3億美元腰斬到1.5億美元;多國(guó)轉(zhuǎn)播權(quán)的不明朗形勢(shì)陷入罕見僵局

脫離實(shí)際的報(bào)價(jià)遭冷遇,世界杯中國(guó)轉(zhuǎn)播費(fèi)從3億美元腰斬到1.5億美元;多國(guó)轉(zhuǎn)播權(quán)的不明朗形勢(shì)陷入罕見僵局

大風(fēng)新聞
2026-05-10 15:28:26
歌手黃霄雲(yún)在演出現(xiàn)場(chǎng)暈倒,工作室回應(yīng):已前往醫(yī)院就診,確診為由缺少睡眠、疲勞和壓力引起的耳石癥復(fù)發(fā),現(xiàn)已強(qiáng)制藝人進(jìn)入休息狀態(tài)

歌手黃霄雲(yún)在演出現(xiàn)場(chǎng)暈倒,工作室回應(yīng):已前往醫(yī)院就診,確診為由缺少睡眠、疲勞和壓力引起的耳石癥復(fù)發(fā),現(xiàn)已強(qiáng)制藝人進(jìn)入休息狀態(tài)

瀟湘晨報(bào)
2026-05-10 12:03:10
打過(guò)科興疫苗的朋友,最近一定要提高警惕!千萬(wàn)不要被騙!

打過(guò)科興疫苗的朋友,最近一定要提高警惕!千萬(wàn)不要被騙!

網(wǎng)絡(luò)易不易
2026-05-10 11:34:41
37死51傷!瀏陽(yáng)煙花廠爆炸原因查明,公司實(shí)際控制人被扒,后續(xù)!

37死51傷!瀏陽(yáng)煙花廠爆炸原因查明,公司實(shí)際控制人被扒,后續(xù)!

眼光很亮
2026-05-10 05:50:27
閱兵式結(jié)束后襲擊烏克蘭,拒絕交換俘虜,俄羅斯拿捏澤連斯基!

閱兵式結(jié)束后襲擊烏克蘭,拒絕交換俘虜,俄羅斯拿捏澤連斯基!

山河路口
2026-05-10 14:01:37
他套現(xiàn)百億,留下27萬(wàn)股民和一張ST廢紙,聞泰科技給投資者上了一課

他套現(xiàn)百億,留下27萬(wàn)股民和一張ST廢紙,聞泰科技給投資者上了一課

A活著
2026-05-09 20:47:26
廣東一男子加滿640元的油后,拒不付款強(qiáng)行逃離現(xiàn)場(chǎng),同行人對(duì)監(jiān)控囂張“比耶”,警方:已將嫌疑人抓獲

廣東一男子加滿640元的油后,拒不付款強(qiáng)行逃離現(xiàn)場(chǎng),同行人對(duì)監(jiān)控囂張“比耶”,警方:已將嫌疑人抓獲

揚(yáng)子晚報(bào)
2026-05-10 10:28:16
比核彈更致命?伊朗海底7條光纜,扼住全球經(jīng)濟(jì)命脈

比核彈更致命?伊朗海底7條光纜,扼住全球經(jīng)濟(jì)命脈

網(wǎng)易新聞出品
2026-05-07 19:33:27
英國(guó)政壇地震,斯塔默“首相生涯面臨終結(jié)”?

英國(guó)政壇地震,斯塔默“首相生涯面臨終結(jié)”?

上觀新聞
2026-05-10 15:27:19
皇馬武斗細(xì)節(jié)曝光:巴爾韋德3次惡鏟,欲廢楚阿梅尼

皇馬武斗細(xì)節(jié)曝光:巴爾韋德3次惡鏟,欲廢楚阿梅尼

體壇周報(bào)
2026-05-10 15:57:53
僅退款榴蓮后續(xù),商家向誤傷女孩道歉,店鋪銷量爆增,漲粉近5萬(wàn)

僅退款榴蓮后續(xù),商家向誤傷女孩道歉,店鋪銷量爆增,漲粉近5萬(wàn)

夜深愛雜談
2026-05-09 23:33:25
國(guó)家力挺!張雪機(jī)車獲200畝用地+2.4億授信,研發(fā)占比9.33%!

國(guó)家力挺!張雪機(jī)車獲200畝用地+2.4億授信,研發(fā)占比9.33%!

世界圈
2026-05-10 08:51:12
2026-05-10 19:12:49
Ping值焦慮
Ping值焦慮
有態(tài)度網(wǎng)友ytd
2341文章數(shù) 38關(guān)注度
往期回顧 全部

科技要聞

DeepSeek融資,改寫所有人的估值

頭條要聞

面對(duì)中方強(qiáng)硬態(tài)度 世界杯中國(guó)轉(zhuǎn)播費(fèi)從3億美元腰斬

頭條要聞

面對(duì)中方強(qiáng)硬態(tài)度 世界杯中國(guó)轉(zhuǎn)播費(fèi)從3億美元腰斬

體育要聞

那個(gè)曾讓詹姆斯抱頭的兄弟,40歲從大學(xué)畢業(yè)了

娛樂(lè)要聞

大S女兒玥兒開通賬號(hào),用煙花緬懷母親

財(cái)經(jīng)要聞

白酒大逃殺

汽車要聞

軸距加長(zhǎng)/智駕拉滿 阿維塔07L定位大五座SUV

態(tài)度原創(chuàng)

教育
游戲
本地
藝術(shù)
房產(chǎn)

教育要聞

小升初必考!梯形面積的計(jì)算技巧!

炸裂!熊孩子刮花6張PS5光盤 家長(zhǎng)僅200元打發(fā)了事

本地新聞

用蘇繡的方式,打開江西婺源

藝術(shù)要聞

中國(guó)民生銀行總行新大樓掛牌!北京CBD“竹樓”成地標(biāo)

房產(chǎn)要聞

低價(jià)甩賣!海口這個(gè)地標(biāo)商業(yè),無(wú)人接盤!

無(wú)障礙瀏覽 進(jìn)入關(guān)懷版