How zoom/zoomapps-advancedsample-react works
This repository is an Advanced Zoom Apps sample: users install and authorize the app, open its React UI inside Zoom, and exercise Zoom SDK, REST API, and authentication demonstrations. A separate RTMS sample receives meeting media/transcripts and converts them to files. The sampled source supports the OAuth, session, proxy, SDK connection, and RTMS event flows shown; other documented SDK demonstrations are represented at the UI capability level because their implementation was not sampled.
Main entry points: zoomapp/controller.js App OAuth and home · App.js React app · thirdpartyauth/controller.js Third-party OAuth · zoom-api.js Zoom API client
Components 23
Zoom App experience
- React app
frontend/src/App.js - SDK demonstrations
frontend/src/components/ApiScrollview.js - Authorization UI
frontend/src/components/Authorization.js
Authentication and API
- App routes
backend/api/zoomapp/router.js - App OAuth and home
backend/api/zoomapp/controller.js - Session middleware
backend/middleware.js - User token store
backend/util/store.js - Zoom API client
backend/util/zoom-api.js - REST proxy
backend/api/zoom/controller.js - REST auth middleware
backend/api/zoom/middleware.js - Third-party OAuth
backend/api/thirdpartyauth/controller.js - Third-party routes
backend/api/thirdpartyauth/router.js
RTMS media processing
- RTMS SDK consumer
rtms/sdk/index.js - RTMS WebSocket server
rtms/websocket/index.js - RTMS event handler
rtms/websocket/api/controller.js - Media converters
rtms/utils
Other components
- Zoom user
- Zoom client
- Zoom REST API
- Auth0 provider
- Zoom authorization
- RTMS webhook service
- Zoom RTMS services
Connections 35
- Zoom user → App OAuth and home: starts install
- App OAuth and home → Zoom authorization: redirects for consent
- Zoom authorization → App OAuth and home: returns auth code
- App OAuth and home → Zoom API client: exchanges code
- App OAuth and home → Zoom API client: requests user and deeplink
- Zoom API client → Zoom REST API: calls
- App OAuth and home → User token store: saves user tokens
- App OAuth and home → Session middleware: uses session
- Zoom client → App OAuth and home: opens app home
- App OAuth and home → React app: proxies app UI
- Zoom client → React app: hosts embedded UI
- Zoom user → React app: uses demonstrations
- React app → SDK demonstrations: renders controls
- React app → Authorization UI: renders auth flows
- React app → Zoom client: configures and calls SDK
- Authorization UI → App routes: requests in-client auth
- App routes → App OAuth and home: dispatches routes
- App OAuth and home → Zoom API client: exchanges client code
- App OAuth and home → User token store: saves tokens
- App OAuth and home → Third-party routes: optional auth redirect
- Third-party routes → Third-party OAuth: dispatches routes
- Third-party OAuth → Zoom authorization: redirects for Zoom auth
- Third-party OAuth → Zoom API client: gets Zoom token and user
- Third-party OAuth → User token store: saves and reads credentials
- Third-party OAuth → Auth0 provider: redirects and exchanges code
- REST auth middleware → User token store: loads user tokens
- REST auth middleware → REST proxy: authorizes proxy request
- REST proxy → Zoom REST API: forwards API request
- RTMS webhook service → RTMS SDK consumer: delivers meeting events
- RTMS SDK consumer → Media converters: converts collected media
- RTMS webhook service → RTMS WebSocket server: posts events
- RTMS WebSocket server → RTMS event handler: dispatches RTMS routes
- RTMS event handler → Zoom RTMS services: connects signaling and media
- Zoom RTMS services → RTMS event handler: streams media and transcripts
- RTMS event handler → Media converters: converts meeting data