Skip to content
This repository has been archived by the owner on Sep 11, 2024. It is now read-only.

Support creation of Jitsi widgets with "openidtoken-jwt" auth #5173

Merged
merged 11 commits into from
Sep 8, 2020

Conversation

jaywink
Copy link
Member

@jaywink jaywink commented Sep 7, 2020

This PR adds the react-sdk parts for supporting Synapse OpenID token based auth for Jitsi widgets. This auth enables locking Jitsi widgets to particular homeserver users and rooms. The whole flow is described here: https://github.com/matrix-org/prosody-mod-auth-matrix-user-verification

The auth flow is only used when the Jitsi server has a well-known file indicating the requirement of auth.

Element Web PR side for the Jitsi widget code PR: element-hq/element-web#15114

Checks for auth needed by looking up a well-known file from the preferred Jitsi domain. No file existing will assume no auth.
If the Jitsi server we're using for a Jitsi conference call has auth of
"openidtoken-jwt" then instead of a random human readable room ID, encode
the room ID in base32 (without padding). This can then be decoded back to
the room ID on the Jitsi end of things.
So we don't have to fetch the auth type when joining
the conference.
Also add roomId to the widget data and URL template. It's needed by
the Element Web Jitsi code to produce auth for the Jitsi backend.
@jaywink jaywink requested a review from a team September 7, 2020 17:23
src/CallHandler.js Outdated Show resolved Hide resolved
src/utils/WidgetUtils.js Outdated Show resolved Hide resolved
* drop room ID from jitsi widget data
* reame queryParts variable
As they're only set in the constructor.
@jaywink jaywink requested review from turt2live and t3chguy September 8, 2020 11:09
@turt2live turt2live added the X-Release-Blocker This affects the current release cycle and must be solved for a release to happen label Sep 8, 2020
@jaywink jaywink merged commit 7551825 into develop Sep 8, 2020
@jaywink jaywink deleted the jaywink/jitsi-openidjwt-auth branch September 8, 2020 14:16
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
X-Release-Blocker This affects the current release cycle and must be solved for a release to happen
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants