Skip to content

Conversation

@ZeRego
Copy link
Collaborator

@ZeRego ZeRego commented Nov 3, 2025

Closes: #SCIM-roles-support

Description:

This PR adds SCIM role support to enable identity providers to discover and retrieve Lightdash roles through the SCIM API. The implementation includes:

  • New ScimRoleController with endpoints to list roles and get a specific role
  • Support for system roles (viewer, interactive_viewer, editor, developer, admin) in the SCIM API
  • Added role schema definition to the SCIM schema registry
  • Updated SCIM service with methods to convert Lightdash roles to SCIM format
  • Added appropriate tests for the new functionality

This enhancement allows identity providers to map their roles to Lightdash roles during user provisioning, improving the SCIM integration experience.

Next PR will also return project roles.

List roles
Screenshot 2025-11-03 at 14 35 02

Get role
Screenshot 2025-11-03 at 14 36 00

List resource types
Screenshot 2025-11-03 at 14 30 11

Get resource type
Screenshot 2025-11-03 at 14 30 52

List schemas
Screenshot 2025-11-03 at 14 25 49

Get schema
Screenshot 2025-11-03 at 14 27 50

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your free trial has ended. If you'd like to continue receiving code reviews, you can add a payment method here.

Copy link
Collaborator Author

ZeRego commented Nov 3, 2025

@github-actions
Copy link

github-actions bot commented Nov 3, 2025

Your preview environment pr-17806 has been deployed.

Preview environment endpoints are available at:

@github-actions
Copy link

github-actions bot commented Nov 3, 2025

@github-actions
Copy link

github-actions bot commented Nov 3, 2025

You can ssh into the preview environment by running: ./scripts/okteto-ssh.sh 17806

Copy link
Contributor

@stevelikesmusic stevelikesmusic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice. Just one non-blocking question.

totalResults: filteredRoles.length,
});

return {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would it be worth making ScimListResult a class to make the response easier to form? I know TS will flag unknown fields, but the DX might improve from having a shared function to create these objects if they're all standard.

@ZeRego ZeRego merged commit 25ee079 into main Nov 4, 2025
40 of 45 checks passed
@ZeRego ZeRego deleted the feat_add_SCIM_role_controller_and_endpoints branch November 4, 2025 10:39
lightdash-bot pushed a commit that referenced this pull request Nov 4, 2025
# [0.2132.0](0.2131.4...0.2132.0) (2025-11-04)

### Features

* add SCIM role controller and endpoints ([#17806](#17806)) ([25ee079](25ee079))
@lightdash-bot
Copy link
Collaborator

🎉 This PR is included in version 0.2132.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants