coding / coding/Webhook.v2.Demo
使用Egg.js始终无法校验成功
- Vorherrschende Sprache
- JavaScript
- Sterne
- 4
- Forks
- 3
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
```
verifyWebhook() {
const { ctx } = this;
if (!ctx.request.headers['user-agent'].includes('Coding.net Hook')) {
return false;
}
const theirSignature = ctx.request.headers['x-coding-signature'];
const payload = JSON.stringify(ctx.request.body);
const secret = '123';
const ourSignature = `sha1=${crypto.createHmac('sha1', secret).update(payload).digest('hex')}`;
return crypto.timingSafeEqual(Buffer.from(theirSignature), Buffer.from(ourSignature));
// 始终返回false,怎么回事??
}
}
```
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Rechercherichtung
Beginnen Sie am Einstiegspunkt verifyWebhook() und vergleichen Sie x-coding-signature mit dem aus dem empfangenen Request-Body berechneten HMAC. Bestätigen Sie die Payload-Darstellung und die Signatur-Eingaben für einen Coding.net-Webhook; abgeschlossen ist die Aufgabe, wenn ein gültiger Webhook die Verifizierung besteht und eine ungültige Signatur weiterhin false zurückgibt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- javascript
- Bereich
- api
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 25/100