Skip to content

Conversation

jmpesp
Copy link
Contributor

@jmpesp jmpesp commented Oct 9, 2025

Implement the CRUD routines for the tokens that will be used to authenticate SCIM clients for SamlScim Silos. Also implement the Bearer based authentication for SCIM clients.

Fill in the skeleton of CrdbScimProviderStore, which when implemented will complete the SCIM implementation in Nexus.

Implement the CRUD routines for the tokens that will be used to
authenticate SCIM clients for SamlScim Silos. Also implement the Bearer
based authentication for SCIM clients.

Fill in the skeleton of CrdbScimProviderStore, which when implemented
will complete the SCIM implementation in Nexus.
@jmpesp jmpesp requested a review from david-crespo October 9, 2025 02:56
authz_silo: &authz::Silo,
id: Uuid,
) -> LookupResult<Option<ScimClientBearerToken>> {
opctx.authorize(authz::Action::ListChildren, authz_silo).await?;
Copy link
Contributor

Choose a reason for hiding this comment

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

I'm thinking you should check the read permission on a value of type authz::ScimClientBearerToken instead, right?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

agreed, my bad - done in ed37a89

// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at https://mozilla.org/MPL/2.0/.

//! scim2-rs uses the patterm of implementing a SCIM "provider" over something
Copy link
Contributor

Choose a reason for hiding this comment

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

patterm

Copy link
Contributor Author

Choose a reason for hiding this comment

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

nexus_id
);

CREATE TABLE IF NOT EXISTS omicron.public.scim_client_bearer_token (
Copy link
Contributor

Choose a reason for hiding this comment

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

I think I would rather call this (and the authz resource) scim_client_token. It contains a bearer token, but the Token concept is really the whole row.

Instead of silo

Also grant silo admin role to USER_TEST_PRIVILEGED.id() instead of
OpContext::for_tests in tests.
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

Successfully merging this pull request may close these issues.

2 participants