wip introduce add-in endpoints and views#1008
Draft
lebaudantoine wants to merge 8 commits intomainfrom
Draft
Conversation
6653650 to
e5589a6
Compare
8dd9322 to
3873550
Compare
e5589a6 to
65b194d
Compare
lebaudantoine
commented
Mar 16, 2026
Comment on lines
+14
to
+18
| location ~ ^/outlook-addin(/.*)?$ { | ||
| alias /usr/share/nginx/html/outlook-addin$1; | ||
| add_header Access-Control-Allow-Origin "*"; | ||
| add_header Cache-Control "no-cache, no-store, must-revalidate"; | ||
| } |
Collaborator
Author
There was a problem hiding this comment.
wip to be added conditionally
lebaudantoine
commented
Mar 16, 2026
lebaudantoine
commented
Mar 16, 2026
lebaudantoine
commented
Mar 17, 2026
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.




How it works?
sequenceDiagram actor Client participant Addon as meet.com/addons participant TES as Token Exchange Service participant Cache participant OIDC as OIDC Provider Client->>Addon: POST /addons/sessions Addon->>TES: Generate session ID TES->>Cache: Init cache[session_id] = null TES-->>Addon: session_id Addon-->>Client: { session_id } Client->>Client: Store session_id loop Long Polling Client->>Addon: GET /addons/sessions/:session_id Addon->>Cache: Read cache[session_id] Cache-->>Addon: null (not ready) Addon-->>Client: 202 Pending end Client->>Client: Open dialog → meet.com/addons/transit/?session_id=xx Client->>Addon: GET /addons/transit/?session_id=xx Addon->>Addon: Store session_id in session/state Addon-->>Client: Redirect to OIDC /authorize?redirect_uri=/addons/redirect Client->>OIDC: Authenticate OIDC-->>Client: Redirect to meet.com/callback?code=xx Client->>Addon: GET /callback?code=xx Addon->>OIDC: Exchange code for tokens OIDC-->>Addon: id_token, access_token Addon-->>Client: Redirect to /addons/redirect Client->>Addon: GET /addons/redirect Addon->>Addon: Forge JWT (access_token) Addon->>Cache: Set cache[session_id] = access_token Addon-->>Client: Redirect to success page Note over Client,Cache: Cache now populated — long poll resolves Client->>Addon: GET /addons/sessions/:session_id Addon->>Cache: Read cache[session_id] Cache-->>Addon: access_token Addon-->>Client: 200 { access_token } Client->>Client: Store access_token Client->>Addon: API Request (Authorization: Bearer access_token) Addon-->>Client: Protected resource response