Closed mickmister closed 1 year ago
Patch coverage: 58.38
% and project coverage change: +23.51
:tada:
Comparison is base (
cb15d74
) 0.00% compared to head (47712f6
) 23.51%.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.
This seems functional I can see the hook working when It's deployed. However the validation functionality seems to now be removed from the Zoom so I can't test the API change.
Also it's a bit odd that we're keeping the webhook secret in the query string. We would need to be very clear with the documentation about this but it is working 👍
cc @mickmister ☝️
@DHaussermann I kept the webhook secret in the query string because it is something we have control over and is battle tested in our system. We can treat it as the primary secret check, while adhering to Zoom's new requirements when they take effect. This also was the simplest route for backwards compatibility.
@DHaussermann Can you please test this for backwards compatibility? Thank you!
cc: @DHaussermann , when you have the bandwidth (or have Malik looking into it).
/update-branch
@mickmister I do not see a change in behavior when running this build. Webhook end point validation is still failing in the Zoom Setup wizard.
I double checked the URL and secret. I'm a bit confused....
@DHaussermann I tested this out again and it's working for me. Can we meet to discuss this?
Summary
Viewing the second commit in isolation will make reviewing this PR much more straightforward, since I moved around some code in the first commit.
Description copied from https://github.com/mattermost/mattermost-plugin-zoom/issues/278:
Zoom has changed how their webhook setup works, and requires some logic on our end to validate the webhook is setup properly. This involves:
The webhook must be validated before Zoom's interface will allow the admin to save the webhook configuration in Zoom's app setup UI. This does not affect existing setups of the plugin, but it will affect any new setup, and any instance of an admin wanting to update the webhook secret or change the events associated with the webhook configuration.
Setting up the webhook for validation requires us to store a new
Secret Token
from Zoom's webhook configuration UI. If this value is not set, we simply skip the "signature verification" step when processing webhook events. We technically don't need to do this step, because Zoom has no way of verifying this is occurring on subsequent webhook events, and because we are already using our own secret for the webhook. Either way, it's best to comply with what Zoom is asking for, and it adds another layer of security provided by Zoom.Ticket Link
Fixes https://github.com/mattermost/mattermost-plugin-zoom/issues/278