coding / coding/Webhook.v2.Demo
使用Egg.js始终无法校验成功
- Langage dominant
- JavaScript
- Étoiles
- 4
- Forks
- 3
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
```
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,怎么回事??
}
}
```
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Piste de recherche
Commencez au point d’entrée verifyWebhook() et comparez x-coding-signature avec le HMAC calculé à partir du corps de la requête reçu. Confirmez la représentation du payload et les entrées de signature pour un webhook Coding.net ; le travail est terminé lorsqu’un webhook valide passe la vérification et qu’une signature invalide renvoie toujours false.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- javascript
- Domaine
- api
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 25/100