Re-consider access token lifespan
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 25/100
- Type d'issue
- Fonctionnalité
- Clarté
- À clarifier
- Activité
- À l'abandon
- Stack technique
- javascript
- Domaine
- authentication, security
Piste de recherche
Commencez par src/AccessToken.js avec la durée de vie par défaut de 14 jours, puis examinez le authorization code flow, la refresh-token option, la gestion des cookies et les considérations relatives à OpenID Connect décrites dans l’issue. Une conception de sécurité doit être arrêtée avant l’implémentation ; done doit inclure une stratégie convenue concernant la durée de vie des tokens et ses effets sur le renouvellement et la réauthentification.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
At the moment NSS defines a default 14-day token lifespan: https://github.com/solid/oidc-op/blob/main/src/AccessToken.js#L7
Why re-consider?
- a long life for NSS access tokens affects the entire Solid ecosystem. If another server (e.g. ESS, CSS) wants to support NSS access tokens, it needs to accept tokens with a very long life.
- Bearer tokens (which is what we're talking about) are global in nature for Solid. They are extremely powerful and so any exfiltration can have significant negative consequences (i.e. a user loses data to a malicious actor). Reducing the lifespan of a global access token reduces risk for everyone
- for access tokens (especially global access tokens) the industry standard is <= 1 hour. For access tokens that secure "sensitive" data, the standard is closer to 10 minutes or less
Suggestions:
- Request a refresh token during the authorization code flow (this is part of OpenID Connect). Then, when the token is nearing expiry, exchange the refresh token for a new access token
- Completely refresh the app, passing the user through the full authorization code flow (part of OIDC). There will still be a cookie available on the identity provider, so the user will, in all likelihood, be passed right through the redirect flow and end up where they started. There are patterns for maintaining state between the start and end of that flow
- If the cookie expired on the Identity Provider, then the user would need to re-enter credentials
- NSS uses cookies so we could exchange the access token with a cookie.
Example: Gmail uses cookies. Cookies are easy to scope to a particular app, so there are no significant security issues.
- Langage dominant
- JavaScript
- Étoiles
- 1.8k
- Forks
- 308
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de nodeSolidServer/node-solid-server
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 72/100
nodeSolidServer/node-solid-server#1848 · 2 commentaires · 1 réaction ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
nodeSolidServer/node-solid-server#1841 · 2 commentaires ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
nodeSolidServer/node-solid-server#1147 ·
-
remove bootstrap dependency Ouverte
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
nodeSolidServer/node-solid-server#1867 ·
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 45/100
nodeSolidServer/node-solid-server#1853 ·
Toutes les issues de nodeSolidServer/node-solid-server
Issues similaires
-
bug customer-eng Durable Agents Inngest status: needs triage
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
-
optimization optimization:agents-md-curator
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
githubnext/gh-aw-cao#13475 ·
-
[BUG]: "Clear All" in Settings doesn't clear the saved analysis, old data comes back after reload Ouvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
AOSSIE-Org/OrgExplorer#253 · 1 commentaire ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
oxc-project/oxc#26944 ·
-
ai-observability bug team/ai-observability
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100