Вы можете окончательно подключить веб-крючок Typeform к функции Cloud и отправить данные sh в хранилище Firebase.
В дополнение к аутентификации, на которую указывает Фрэнк, Typeform также предоставляет механизм подписи, обеспечивающий получение запроса от Typeform webhook.
Typeform позволяет вам определить секрет для подписи полезной нагрузки webhook.
Когда вы получаете полезную нагрузку на своем конце, в облачной функции вы сначала проверяете, правильно ли она подписана, если это не так, это означает, что он не исходит от Typeform, поэтому вы не должны иметь с ним дело.
Вот пример для проверки подписи webhook:
app.post('/typeform/webhook', async (request, response) => {
console.log('~> webhook received');
// security check, let's make sure request comes from typeform
const signature = request.headers['typeform-signature']
const isValid = verifySignature(signature, request.body.toString())
if (!isValid) {
throw new Error('Webhook signature is not valid, someone is faking this!');
}
//valid signature let's do something with data received
})
А вот verifySignature
функция
const crypto = require('crypto')
const verifySignature = function(receivedSignature, payload){
const hash = crypto
.createHmac('sha256', webhookSecret)
.update(payload)
.digest('base64')
return receivedSignature === `sha256=${hash}`
}
Более подробная информация о Документация по типу .
Надеюсь, это поможет:)