Summary
We observed an authentication issue with irods_client_http_api when using OpenID Connect with local JWT validation.
After an OIDC provider key rotation, valid access tokens started being rejected because the JWT header contained a kid that did not appear to be recognized by irods_client_http_api.
Restarting the irods_client_http_api container resolved the issue, which suggests that the JWKS / signing key state used by local_validation may not have been refreshed automatically.
Environment
irods_client_http_api image/version: 0.6.0
- Deployment: Docker Compose
- OIDC provider: Microsoft Entra ID
- OIDC mode:
protected_resource
- Access token validation method:
local_validation
Relevant configuration:
"openid_connect": {
"provider_url": "https://sts.windows.net/<tenant-id>/",
"client_id": "api://<client-id>",
"mode": "protected_resource",
"access_token_validation_method": "local_validation",
"tls_certificates_directory": "/etc/ssl/certs"
}
Summary
We observed an authentication issue with
irods_client_http_apiwhen using OpenID Connect with local JWT validation.After an OIDC provider key rotation, valid access tokens started being rejected because the JWT header contained a
kidthat did not appear to be recognized byirods_client_http_api.Restarting the
irods_client_http_apicontainer resolved the issue, which suggests that the JWKS / signing key state used bylocal_validationmay not have been refreshed automatically.Environment
irods_client_http_apiimage/version:0.6.0protected_resourcelocal_validationRelevant configuration: