iRODS HTTP API
and OpenID Connect
November 17-22, 2024
Supercomputing 2024
Atlanta, GA
Terrell Russell, Ph.D
Executive Director, iRODS Consortium
Director of Data Management, RENCI
Protocol Plumbing - Presenting iRODS as other Protocols
Over the last few years, the ecosystem around the iRODS server has continued to expand.
Integration with other types of systems is a valuable way to increase accessibility without teaching existing tools about the iRODS protocol or introducing new tools to users.
With some plumbing, existing tools get the benefit of visibility into an iRODS deployment.
What is the iRODS HTTP API?
Goals of the project ...
iRODS HTTP API - Endpoints
Based on concepts and entities defined in iRODS:
Operations are specified via parameters
For example
/authenticate | /resources |
/collections | /rules |
/data-objects | /tickets |
/info | /users-groups |
/query | /zones |
Earlier Releases
v0.1.0 - Nov 7, 2023
v0.2.0 - Jan 25, 2024
v0.3.0 - Mar 15, 2024
Recent Releases
v0.4.0 - Aug 26, 2024
v0.5.0 - Nov 13, 2024
HTTP API as OAuth 2.0 Confidential Client
OIDC User Mapping Plugins
OIDC User Mapping - Local File Example
Text
{
"alice": {
"email": "alice@example.org",
"sub": "123-abc-456-xyz"
},
"bob": {
"email": "bob@example.org",
"phone": "56709"
}
}
OIDC - 2 modes vs 2 user mapping plugins
local file | user claim | |
---|---|---|
client |
ID Token from IDP Match defined members |
ID Token from IDP Trust the claim |
protected resource |
Access Token JWT OR Introspection endpoint response Match defined members |
Access Token JWT OR Introspection endpoint response Trust the claim |
HTTP API - Future Work
Next Steps
Considering
Thank you!