The State Changers have a meeting to debug a problem they've been having with their webhook setup in Xano. The issue is that the JSON encoded string generated by Xano is not identical to the original string received from the webhook, causing the signature validation to fail.
Discussion reveals that the webhook response is currently treated as a variable, decoded into an object in PHP, and re-encoded into a string for verification. This decoding and encoding process changes the string, resulting in the failure of cryptographic verification. In order to troubleshoot the problem, they create a variable that is just the JSON encoded version of the webhook response. They choose to use the filename field in the database table to store this string. They then trigger a new webhook event to generate a new JSON encoded payload string which they save for comparison. Upon comparison, they notice that the generated string is all on one line with no spaces or line breaks, while the original string received from the webhook has spaces and line breaks. This discrepancy leads to the conclusion that JSON encode is not the correct method to generate an identical string. They propose to manually format the string with spaces and line breaks but acknowledges that it might lead to errors. The conclusion is that Xano needs the original string in order to perform the cryptographic verification and that they should ask the Xano team how to get that original string. Keywords in this summary: Xano, webhook, PHP, JSON encode, string, signature, verify, cryptographic verification.
(Source: Office Hours 12/1 )
Join State Change Risk-Free