Problem
Our Azure Managed Redis has access-key authentication disabled by (org) policy, leaving Microsoft Entra ID as the only auth method. The Redis session storage (storage.session.redis) only supports static username/password, so the Nuts node currently cannot connect to such instances at all. Entra ID auth requires acquiring a token and periodically
re-issuing AUTH before it expires, which a static password config can't do.
Suggested solution
The node already uses github.com/redis/go-redis/v9, which supports a StreamingCredentialsProvider on its Options. Redis provides an official implementation for Entra ID: go-redis-entraid (managed identity, service principal, DefaultAzureCredential), which handles
token refresh automatically.
Rough shape, analogous to the existing AWS RDS IAM support (storage/rds_iam.go):
storage:
session:
redis:
address: rediss://mycache.region.redis.azure.net:10000
entraid:
enabled: true
clientid: "..." # optional, for user-assigned managed identity
When enabled, set opts.StreamingCredentialsProvider instead of username/password.
Problem
Our Azure Managed Redis has access-key authentication disabled by (org) policy, leaving Microsoft Entra ID as the only auth method. The Redis session storage (
storage.session.redis) only supports static username/password, so the Nuts node currently cannot connect to such instances at all. Entra ID auth requires acquiring a token and periodicallyre-issuing
AUTHbefore it expires, which a static password config can't do.Suggested solution
The node already uses
github.com/redis/go-redis/v9, which supports aStreamingCredentialsProvideron itsOptions. Redis provides an official implementation for Entra ID:go-redis-entraid(managed identity, service principal, DefaultAzureCredential), which handlestoken refresh automatically.
Rough shape, analogous to the existing AWS RDS IAM support (
storage/rds_iam.go):When enabled, set
opts.StreamingCredentialsProviderinstead of username/password.