feature: support both WebID-TLS and Solid-OIDC authentication simultaneously
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 45/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- javascript, node.js
- Área
- authentication, backend
Línea de trabajo
Comienza en lib/create-app.mjs:335-339 y luego inspecciona los puntos de entrada de inicialización de API.authn.oidc y API.authn.tls. Verifica cómo cada handler llama a next() cuando faltan las credenciales y define la finalización como el hecho de que tanto los clientes WebID-TLS como los de Solid-OIDC se autentiquen contra el mismo servidor.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
Currently NSS only supports one authentication method at a time (--auth tls OR --auth oidc). It would be valuable to support both simultaneously.
Current Behavior
// lib/create-app.mjs:335-339
const auth = argv.forceUser ? 'forceUser' : argv.auth
if (!(auth in API.authn)) {
throw new Error(`Unsupported authentication scheme: ${auth}`)
}
await API.authn[auth].initialize(app, argv) // Only ONE method initialized
Proposed Behavior
Initialize both auth handlers and let them chain naturally:
async function initAuthentication(app, argv) {
// Initialize both handlers
await API.authn.oidc.initialize(app, argv)
await API.authn.tls.initialize(app, argv)
}
The handlers already call next() when they don't find their credentials, so they'd naturally fall through to the next method.
Benefits
- Flexibility - Different clients can use different auth methods against the same server
- Migration path - Users can transition gradually between auth methods
- Spec compliance - Solid doesn't mandate one auth method over another
- Client compatibility - Legacy TLS clients and modern OIDC clients work together
Implementation
The change is minimal:
- Remove the either/or logic in
initAuthentication() - Initialize both handlers (or make it configurable:
--auth oidc,tls) - Auth chain: OIDC → TLS → anonymous
Prior Art
JavaScriptSolidServer (JSS) already supports this - it tries auth methods in sequence:
- Solid-OIDC (DPoP tokens)
- WebID-TLS (client certificates)
- Bearer tokens
Works well and provides maximum flexibility.
- Lenguaje dominante
- JavaScript
- Estrellas
- 1.8k
- Forks
- 308
- Métricas de merge de PR
- Sin PR fusionados en 30 d
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 nodeSolidServer/node-solid-server
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
nodeSolidServer/node-solid-server#1848 · 2 comentarios · 1 reacción ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
nodeSolidServer/node-solid-server#1841 · 2 comentarios ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
nodeSolidServer/node-solid-server#1147 ·
-
remove bootstrap dependency Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
nodeSolidServer/node-solid-server#1867 ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 45/100
nodeSolidServer/node-solid-server#1853 ·
Todos los issues de nodeSolidServer/node-solid-server
Issues similares
-
Edit: CW+ Abiertochannels:edit check:passed
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
스택 PR 머지 시 하위 PR base 재지정 단계 부재 Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
idean3885/claude-ops-agent#521 ·
-
[Nytt ikon]: menu-search Abiertoforespørsel 🥰 ikoner 🖼 nytt ✨
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
avniproject/avni-client#2135 ·
-
automated broken-link
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100