Support Microsoft Entra ID authentication for Redis session storage
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 68/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- azure, go, redis
- Área
- authentication, backend, cloud, databases
Línea de trabajo
Empieza leyendo storage/rds_iam.go y la configuración del almacenamiento de sesiones de Redis; después, inspecciona el uso de go-redis/v9 Options. Comprueba cómo la configuración de entraid debe seleccionar el proveedor de credenciales en lugar de credenciales estáticas. Se considera completado cuando Azure Managed Redis pueda autenticarse con Entra ID, incluida la renovación del token y el ID de cliente opcional de la identidad administrada asignada por el usuario.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- Go
- Estrellas
- 29
- Forks
- 24
- Merge medio
- 2 d 18 h
- PR fusionados (30 d)
- 45
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Sin guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de nuts-foundation/nuts-node
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
nuts-foundation/nuts-node#4450 ·
Los mantenedores suelen responder en 1 día
-
bug discuss
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
nuts-foundation/nuts-node#4436 ·
Los mantenedores suelen responder en 1 día
-
auth bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
nuts-foundation/nuts-node#4435 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
nuts-foundation/nuts-node#4321 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
nuts-foundation/nuts-node#4230 ·
Los mantenedores suelen responder en 1 día
Todos los issues de nuts-foundation/nuts-node
Issues similares
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 61/100
Los mantenedores suelen responder en 1 día
-
stage-fail
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
siyuan-note/bazaar#2405 ·
Los mantenedores suelen responder en 1 día
-
bug priority: high workstream:cache
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
rossoctl/context-guru#707 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100
prime-radiant-inc/evener#5028 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
Los mantenedores suelen responder en 1 día