SeaTable
  • Fonctions
  • Modèles
  • Solutions
    • Marketing - – La prochaine campagne de marketing ne manquera pas d'arriver. Rien n'est plus facile que cela.
    • Gestion de projet - – Planifier, suivre et gérer les projets de l'équipe du début à la fin.
    • Ressources humaines - – Structurer les processus RH pour les nouvelles recrues et l'accueil des nouveaux arrivants.
    • Distribution - Gérez l'ensemble de votre pipeline de vente et de vos relations clients en un seul endroit.
    • Développement de logiciels - Améliorez la qualité et la rapidité de votre équipe de développement avec SeaTable.
  • Soutien
    • Guide rapide - – Tout ce que vous devez savoir pour que SeaTable soit opérationnel en quelques minutes.
    • Zone d'aide - – Trouvez les réponses à vos questions et obtenez des conseils sur la façon de tirer le meilleur parti de SeaTable.
    • Intégrations - – Connectez SeaTable avec des outils comme Zapier, Integromat ou n8n. Ou utilisez l'API de SeaTable.
    • Blog de SeaTable - – Vous y trouverez des informations sur les produits, des nouvelles et de nombreux exemples de la manière dont vous pouvez utiliser SeaTable de manière optimale.
  • Prix
  • Connexion
  • connexion
  • Inscription
  • Menu Menu

Webhooks

  • Que sont les webhooks et à quoi servent-ils ?
  • Création et suppression d'un webhook
  • Structure des données du webhook
  • Traitement d'un webhook à l'aide de PHP
  • La clé secrète d'un webhook
  • Désactivation d'un webhook en cas d'erreur
  • Accueil
  • Aide
  • Scripts, API et intégrations
  • Webhooks
  • La clé secrète d'un webhook

La clé secrète d'un webhook

Si la cible d'un webhook est accessible au public, il faut s'assurer, pour les requêtes entrantes, qu'elles proviennent du système d'origine souhaité. L'origine d'un webhook peut être garantie à l'aide d'une clé secrète.

L'idée d'une clé secrète

Pour créer un nouveau webhook, il suffit d'indiquer une URL quelconque. La clé secrète peut également rester vide. Toutefois, si votre URL cible est disponible publiquement, vous devez définir une clé secrète et valider cette valeur lors du traitement des webhooks. Dans le cas contraire, n'importe qui peut vous envoyer des demandes correspondantes à cette URL de webhook, qui seront ensuite traitées par vous. Sans la clé secrète, le système cible n'a aucun moyen fiable de savoir si l'événement provient réellement de SeaTable.

Si vous indiquez une clé secrète, le webhook dispose d'une clé supplémentaire. X-SeaTable-Signature-HeaderIl s'agit d'une clé secrète qui permet de garantir l'origine du webhook. Tant que quelqu'un d'autre ne connaît pas la clé secrète, il n'est pas en mesure de vous envoyer des événements par webhook et d'utiliser la clé correspondante. X-SeaTable-Signature-Header de produire.

Lorsqu'une clé secrète est définie, une requête de webhook ressemble par exemple à ceci :

-- HEADER --
Content-Type: application/json
Content-Length: 625
X-Seatable-Signature: sha256=598b55485e7875def064746867ff220e79d7c75512fdb931a39e313af5abfe60
Connection: keep-alive
Accept: */*
Accept-Encoding: gzip, deflate
User-Agent: python-requests/2.28.1
Host: example.com

-- CONTENT --
{
  event:update
  data: {
    dtable_uuid: 6c17f178ee724c109c68ecee364027fc
    row_id: Y_aYcE6wTo-IzGWb-oDmaQ
    op_user: 92d8f9b243f8437db0131c2536398403@auth.local
    op_type: create_row
    op_time: 1677595743.088
    table_id: 0000
    table_name: Table1
    row_name: ""
    row_data: []
  }
}

Le calcul de la clé secrète

La clé secrète est un secret partagé entre SeaTable et le système récepteur. SeaTable utilise la clé secrète pour calculer une valeur de hachage à partir de l'événement. Le système récepteur peut utiliser la clé secrète pour calculer le contenu à partir de la valeur de hachage et le comparer au contenu réel. Si le contenu réel ne correspond pas au contenu calculé à partir du hachage, il ne faut pas traiter le webhook.

Validation de la signature

Dans chaque langage de programmation, il devrait y avoir des fonctions correspondantes pour pouvoir valider une telle signature en conséquence. Cet article vous montre à quoi ressemblerait cette vérification en PHP.

Pour Python, un examen pourrait ressembler à ceci :

import hmac
from flask import Flask, request

app = Flask(__name__)


@app.route('/receive-seatable-webhook', methods=['POST'])
def receive-seatable_webhook():
    secret = 'secret'
    seatable_signature = request.headers.get('X-Seatable-Signature', '').replace('sha256=', '')

    signature = hmac.new(
        secret.encode('utf-8'), request.data, digestmod='sha256').hexdigest()

    signature_compare = hmac.compare_digest(signature, seatable_signature)

    if signature_compare:
        # do something
        pass

    return {'success': signature_compare}

Cet article vous a-t-il été utile ?
Mis à jour le 28 février 2023
Traitement d'un webhook à l'aide de PHPDésactivation d'un webhook en cas d'erreur
Contenu
  • L'idée d'une clé secrète
  • Le calcul de la clé secrète
  • Validation de la signature
Logo SeaTable

Faites comme des milliers d'autres personnes qui utilisent SeaTable pour développer des processus puissants, mettre de l'ordre dans leurs données et accomplir leurs tâches plus efficacement.

SeaTable sur Linkedin SeaTable sur Medium.com SeaTable sur Instagram SeaTable sur Twitter SeaTable sur Github SeaTable sur YouTube SeaTable sur Docker Hub

Produits

  • SeaTable Cloud
  • SeaTable dédiée
  • Serveur SeaTable
  • Soutien

Soutien

  • Guide rapide
  • Zone d'aide
  • Modèles
  • Intégrations
  • Forum
  • API pour les développeurs
  • Statut

Entreprise

  • A propos de nous
  • Nous embauchons
  • Appuyez sur
  • Contact
  • Blog
  • Impression
  • Sécurité
  • Protection des données
  • Conditions d'utilisation
  • CLUF
Défilement vers le haut
  • Deutsch
  • English
  • Español
  • Português
  • Русский