Skip to content

Expose SCIM identity in Admin GUI

Summary

The SCIM identity can only be accessed via console at this time. Exposing the SCIM identity to admins and/or users will simplify troubleshooting of SCIM-related issues and allow admins to validate what identity, if any, is being used for a specific account without requiring GitLab Support or API access to query.

Steps to reproduce

  1. Create a user linked to a SCIM identity
  2. Check the User Profile or Admin View of the user to validate the SCIM identity

What is the current bug behavior?

Validating SCIM identity requires API access to query for the extern_uid

What is the expected correct behavior?

This data should be exposed via the GUI

Current screen

Identities tab - empty Identities tab
Screen_Shot_2022-03-09_at_3.23.00_PM Screen_Shot_2022-03-09_at_3.22.53_PM

Proposal

  • move the New identity button to the primary action buttons row.
  • Fix the table under Admin / Users / User details / Identities to conform to Pajamas
  • Add two columns to the table, Group and Provider ID
  • *Update success banner to an in-page alert above the list.
    • This might be unnecessary if the banner conforms to the standard banner parameters, but I do not think it doesn't in this context.

Implementation plan

A backend engineer should be consulted to figure out what is the best solution

Possible solution 1

  1. Create a new HAML partial called _scim_identities.html.haml in ee/app/views/admin/users. HAML partial will loop through @user.scim_identities
  2. Render HAML partial in app/views/admin/users/show.html.haml
  3. Add spec to ee/spec/features/admin/admin_users_spec.rb#L100

Possible solution 2

Modify app/controllers/admin/identities_controller.rb#L25 to include SCIM identities

Visuals

Identities tab - empty state Identities tab - populated Identities tab - new ID created success
Identities_tab_-_Empty Identities_tab Identities_tab_-_success

Figma work file

Availability & Testing

Add feature level spec that checks the SCIM identity is shown and can be deleted.

Edited by Sanad Liaquat