coding / coding/Webhook.v2.Demo

使用Egg.js始终无法校验成功

Ouverte
#1 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
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

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.