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

📖 Capture Alpha Users's Justice identity in order to prepare for migration to new identity strategy #3605

Closed
3 of 7 tasks
julialawrence opened this issue Mar 6, 2024 · 4 comments · Fixed by ministryofjustice/analytics-platform-control-panel#1288
Assignees
Labels

Comments

@julialawrence
Copy link
Contributor

julialawrence commented Mar 6, 2024

User Story

As as AP engineer, I would like to start collecting AP users' justice identity so we can start preparing to the roll-out of our new identity strategy.

Value / Purpose

A single identity across our estate is the ultimate goal, not only for security reasons but also for easing onboarding onto the platform. All MOJ employees have or could get justice accounts but not everyone uses or needs Github accounts. Linking AP auth to justice identity will help expand our reach.

Useful Contacts

Michael Collins, Julia Lawrence

User Types

AP Users

Hypothesis

If we begin collecting this information now, we will be in a better position to migrate people when the time is right.

Proposal

  • Add a new page to display to users after logging in, where they can authenticate with their Justice identity
  • Amend the database structure to allow storage of users' justice identity information.
  • Amend Control Panel code to request post-auth AP users to authenticate with AzureAD (EntraID) to capture their justice identity.
  • Validate information is being stored.

Additional Information

Potential questions:

Should we allow new users to register with their justice identity going forward? Is it worth implementing that at the same time so we can lower the number of users we eventually need to migrate?

For QS:
Should we make providing the justice identity as a prereq for new QS accesss? (New UI only allows justice authentiation?)

Things to think about:
Deferral?
"I don't have a justice account?" (More likely with P&A folks)

Definition of Done

  • New "frontpage" added to the control panel to allow EntraID auth
  • EntraID auth process implemented
  • Database schema amended
  • Users notified
  • Documentation outlining what we're doing and why drafted and published
  • Control Panel modified
  • Capability switched on
@julialawrence julialawrence changed the title 📖 Cpture Alpha Users's Justice identity in order to prepare for migration to new identity strategy 📖 Capture Alpha Users's Justice identity in order to prepare for migration to new identity strategy Mar 6, 2024
@michaeljcollinsuk michaeljcollinsuk moved this from 👀 TODO to 🚀 In Progress in Analytical Platform Mar 25, 2024
@michaeljcollinsuk
Copy link
Contributor

michaeljcollinsuk commented Mar 28, 2024

27/3/24
Basic implementation in place - draft PR open with full details

TODO

  • Confirm the best messaging for the user on the new page (feedback on the draft PR welcome)
  • Need to add unit tests
  • Refactoring as necessary

@michaeljcollinsuk michaeljcollinsuk self-assigned this Mar 28, 2024
@michaeljcollinsuk michaeljcollinsuk moved this from 🚀 In Progress to 🚫 Blocked in Analytical Platform Apr 3, 2024
@michaeljcollinsuk
Copy link
Contributor

2/4/24
PR of the initial implementation merged, and deployed to dev.

It is only enabled for superusers, so normal users logging in to the dev site (there are some that are using it for Bedrock) will not see the message about authenticating with their justice identity.

Superusers will, however attempting to authenticate will cause a 500 error, as there are missing EntraID secrets, which requires #3868 to be completed to add. Therefore, I have moved this ticket to blocked.

@michaeljcollinsuk michaeljcollinsuk moved this from 🚫 Blocked to 🛂 In Review in Analytical Platform Apr 8, 2024
@michaeljcollinsuk
Copy link
Contributor

4/4/24
Secret was added as part of #3868, to allow testing on dev.
Created a new release to add always prompt users to log in to their Justice account as part of the flow. Also updated the auth client implementation to use the Azure Client Secret. Currently this is not working (as I wanted to test the error sent to Sentry) - the secret has been added to dev, but a further change to the helm chart is required to set the env variable.

@michaeljcollinsuk
Copy link
Contributor

michaeljcollinsuk commented Apr 10, 2024

Helm chart updated to set the AZURE_CLIENT_SECRET env.
Updated the messaging shown to the user about capturing their Justice email.
Django admin updated to allow easy querying of the number of users that have completed the auth process.
Deployed to dev for the AP team to test.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Archived in project
2 participants