Corollary: once all backend requests are authenticated, we can safely assume that it is the user themselves requesting to do actions, so we can add additional features or backend endpoints such as "what class group chats am I already in?" (not something I would add at the moment since I don't want people being able to query other people's list)
Notes on OpenID:
Third-party services can exchange an access token previously generated by the Client-Server API for information about a user. This can help verify that a user is who they say they are without granting full access to the user’s account.
This implementation has been done -- we are not giving it to the backend yet since we still want to support simply entering your kerb in the mobile case
Possible implementation that does not require reinventing the kerb authentication wheel:
Notes on OpenID:
(https://spec.matrix.org/v1.8/server-server-api/#openid)
Note that Matrix doesn't use OIDC for authentication yet and uses its own custom-built auth: https://areweoidcyet.com/
Some considerations: