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

Add mapping of OIDC client user to iRODS user #74

Merged
merged 4 commits into from
Dec 11, 2024

Conversation

kjsanger
Copy link
Member

@kjsanger kjsanger commented Nov 18, 2024

When OIDC is enabled, switch off Sqyrrl's current mode of showing only public (iRODS group) data, but showing it to all clients.

Instead, when OIDC is enabled, Sqyrrl maps the authenticated OIDC client user to an iRODS user of the same name and then uses the standard iRODS permissions model. In this mode a client can see "public" data only if their mapped iRODS user is a member of the public iRODS group.

Sqyrrl's HTTP session manager is now passed to its constructor so that it is accessible to be externally configured and also to simplify testing because fake OIDC sessions can be set up to test the HTTP handlers, without the need for an OIDC server or mocks.

@kjsanger kjsanger added the enhancement New feature or request label Nov 18, 2024
When OIDC is enabled, switch off Sqyrrl's current mode of showing only
public (iRODS group) data, but showing it to all clients.

Instead, when OIDC is enabled, Sqyrrl maps the authenticated OIDC
client user to an iRODS user of the same name and then uses the
standard iRODS permissions model. In this mode a client can see
"public" data only if their mapped iRODS user is a member of the
public iRODS group.

Sqyrrl's HTTP session manager is now passed to its constructor so that
it ois accessible to be externally configured and also to simplify
testing because fake OIDC sessions can be set up to test the HTTP
handlers, without the need for an OIDC server or mocks.
@kjsanger kjsanger force-pushed the feature/oidc-irods-groups branch from dc0d6bb to c719b24 Compare November 18, 2024 16:54
Makefile Show resolved Hide resolved
server/irods.go Outdated Show resolved Hide resolved
Makefile Outdated Show resolved Hide resolved
Copy link
Member

@dkj dkj left a comment

Choose a reason for hiding this comment

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

Minimal review/check. Unblocking dependent work.

@dkj dkj merged commit b8b467c into wtsi-npg:devel Dec 11, 2024
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants