RutgersGRID / hubs

Duck-themed multi-user virtual spaces in WebVR. Built with A-Frame.
https://hubs.mozilla.com
Mozilla Public License 2.0
0 stars 0 forks source link

How to Integrate Rutgers CAS into Hubs Client #56

Open Voxelghiest opened 1 year ago

Voxelghiest commented 1 year ago

This ticket documents my research into replacing or integrating Hubs Client's current authentication system with the Rutgers Central Authentication System (CAS), so that GRID's virtual worlds servers can be made accessible to anyone with a Rutgers account.

Voxelghiest commented 1 year ago

The way I see it, there are three steps to this process:

  1. Learning how Hubs Client's existing authentication and user login system functions (#55)
  2. Learning how the Rutgers CAS servers function
  3. Using that knowledge to find a way to integrate the two

I am starting with the first task, which is documented in #55.

Voxelghiest commented 1 year ago

The first part, documenting the Hubs Client login pipeline, is done in #55. In the process of documenting that, however, I noticed a feature that Hubs Client has that might be helpful to us: Integration with Discord, as described here on Mozilla's website.

Essentially, this system allows members of a room to sign in using their Discord account instead of the normal Hubs Client pathway. In the codebase, this process is grouped into its own category, separate from the normal login pipeline, called OAuth. There also appears to be some code for a similar pipeline connected to Slack, but that hasn't been fully programmed yet, as far as I can tell.

What this might mean is that Hubs Client already has some infrastructure to support external authorization, which we may be able to work off of to integrate with Rutgers CAS.

For now, I will put a pin in that and continue on to my second task: Learning how the Rutgers CAS server functions. After I document that, I can return to this note and see if there's a way to more easily integrate it with Hubs Client.