crashcloud/Crash

Add Authentication to Crash

Opened this issue · 1 comments

Start Date

No response

Implementation PR

No response

Reference Issues

No response

Summary

Crash needs to have basic authentication using the Rhino Account system so that when changes are submitted, they do so using the Rhino Account logged into the Rhino instance.
To add to this, ideally models could do with having permissions, starting simple with;

  • Read
  • Write

Resources

https://developer.rhino3d.com/guides/rhinocommon/rhinoaccounts/ra-example/
https://docs.google.com/document/d/1-U0FYt6iQAM3UA6Rio4z0sDVXBSdc0kQk5e4zumnKig/edit
https://developer.rhino3d.com/guides/rhinocommon/rhinoaccounts/ra-overview/

Basic Example

  1. A user connects to a Shared Model
  2. The Model authenticates the user to know
  • They have access
  • What kind of access they have
  1. The model allows or refuses the connection

Drawbacks

  1. Less open, users require a rhino account (if made mandatory)
  2. Could make unit testing tricky!
  3. Adds more complexity

Unresolved questions

Does every Rhino user have a rhino account? If not what percentage?

https://learn.microsoft.com/en-us/aspnet/core/signalr/authn-and-authz?view=aspnetcore-7.0
Bearer tokens that use a Rhino Auth token would be a good solution