Last updated: 2026-03-27
Environment: Production web app (https://www.azchess.az)
AZCHESS provides an in-app classroom UI where users connect their own Zoom account, create a Zoom meeting, and open/join the meeting inside AZCHESS. AZCHESS does not host Zoom media or bill users for Zoom usage.
OAuth is user-managed (authorization code flow). Meeting creation is performed with the authorized user's token against Zoom API, and meeting join is rendered with Zoom Meeting SDK.
asadov@javid.azasadov@javid.azYahoo1357!!!asadov@javid.azasadov@javid.azYahoo1357!!!https://www.azchess.az/az/labs/study/classroom/coach/live
| Scope | Used Endpoint(s) | User-visible Feature | Required/Optional |
|---|---|---|---|
meeting:write |
POST /v2/users/me/meetings |
Create Zoom meeting from AZCHESS classroom ("Create via Zoom API"). | Required |
user:read |
GET /v2/users/me |
Show linked Zoom profile metadata (display name/email) in UI. | Optional |
If user:read is not granted, AZCHESS still works for meeting creation and join.
Only profile display enrichment is reduced.
https://www.azchess.az and sign in with AZCHESS host test user./az/labs/study/classroom/coach/live.
Expected: Link succeeds and linked identity is visible (when profile scope is granted).
Expected: Meeting is created under authorized Zoom host account and stored on classroom.
Expected: In-app panel opens and user can join meeting with Zoom SDK flow.
/az/labs/study/classroom/student/live.Expected: Student can join the class meeting from AZCHESS UI.
Expected: Unlinked state is shown and Zoom actions require re-link.
| Scenario | Granted Scopes | Expected Result |
|---|---|---|
| Least privilege | meeting:write |
OAuth link + meeting creation + in-app join all work. Linked Zoom profile fields (email/display name) can be empty or limited. |
| Common mixed-optional scenario | meeting:write + user:read |
All core features work, plus linked Zoom identity is shown in AZCHESS Zoom card. |
| Highest privilege (same as current maximum) | meeting:write + user:read |
Same user-visible behavior as common scenario in current app version. |
meeting:write.meeting:write + user:read.user:read).
If any optional scope is denied by reviewer test account policy, AZCHESS should still
keep core meeting creation/join functional with meeting:write.
www.azchess.az.