Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Story: Implement external identity providers within VCell #1205

Open
5 of 8 tasks
Tracked by #1040
AvocadoMoon opened this issue Apr 1, 2024 · 0 comments
Open
5 of 8 tasks
Tracked by #1040

Story: Implement external identity providers within VCell #1205

AvocadoMoon opened this issue Apr 1, 2024 · 0 comments
Assignees

Comments

@AvocadoMoon
Copy link
Contributor

AvocadoMoon commented Apr 1, 2024

Problem

The current method for authentication within VCell is outdated and no longer follows the required standards for the grant provided. Having to update our authorization to a modern implementation.

Solution

Utilize Auth0 for our authentication and an identity provider taking the burden of authentication from VCell.

Phase 1 (Hard Code)

  • Create a table that allows for identity mappings in VCell database, which means auth0 identities can be associated with VCell IDs
  • Hard code some test identities within the VCell test DB
  • Add functions that reads the VCell DB for these identity mappings

Phase 2 (Transition between old authentication and new)

  • Create functions that can add identity mappings to the VCell database
  • Ensure there's some logic which takes and OIDC security identity and return an old API bearer token

Authenticated Already, Operations You Can Do

  • Get user bearer token
  • Get Vcell user: returns vcell user
  • Map user: requires userID and passwd
  • Learn RSA again, and implement a method for common RSA keys

Phase 3 (Implement within VCell Client)

  • Implement Auth0 In Java Client #1224
  • Refine the Auth0 login process #1231
  • Create some flow in the GUI that prompts users to map their VCell account to their Auth0 account
  • Instead of showing a user login screen with "User name and Password" show a screen with:
    • A button for users to login with Auth0
      1. Input VCell username and password if they already have an account
      2. Auth0 credentials through the browser
      3. Get old API access token, set it alongside the authenticated API Client and continue with the rest of VCell
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants