video-calls: Add Zoom Serverto Server OAuth integration.

Adds a second Zoom integration that uses the Zoom Server to Server
OAuth app process. Only one of the two Zoom integrations can be
configured on a Zulip server.

Adds a cache for the access token from the Zoom server so that it
can be used by the server to create meetings for the approximate
duration of the access token

In the web-app compose box, if the user's delivery email does not
match a user on the configured Zoom account for the server to server
integration, then a compose box error banner will be shown when the
error response is received after clicking/selecting the video or
audio call button.

Also updates the production documentation for the both types of Zoom
integration apps (Server to Server and General). The General app
process for Zoom now requires unlisted apps to go through their
review process, which we now have documented.

Fixes #33117.
This commit is contained in:
Lauryn Menard
2025-01-10 19:59:53 +01:00
committed by Tim Abbott
parent e22c786d4b
commit 8561800676
18 changed files with 435 additions and 39 deletions

View File

@@ -20,6 +20,12 @@ format used by the Zulip server that they are interacting with.
## Changes in Zulip 10.0
**Feature level 353**
* [`POST /register`](/api/register-queue), [`GET /events`](/api/get-events),
`PATCH /realm`: Zoom Server to Server OAuth integration added as an option
for the realm setting `video_chat_provider`.
**Feature level 352**
* `PATCH /realm`, [`POST /register`](/api/register-queue),