Session cookie refresh
I maintainer di solito rispondono entro 7 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Da chiarire
- Stato di attività
- Ferma
- Stack tecnologico
- firebase, google-cloud, javascript, next.js
- Ambito
- authentication, backend
Direzione di ricerca
L'unico punto di ingresso descritto è l'endpoint di refresh proposto, che legge un cookie di sessione o un valore dal corpo della richiesta e crea un nuovo cookie di sessione. Esamina prima il flusso dei cookie di sessione di Firebase Auth e le implicazioni di sicurezza dell'endpoint; l'issue è conclusa solo quando sono stati stabiliti un approccio di refresh supportato e chiaramente sicuro e il relativo comportamento previsto.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Hello I'm using Firebase Auth (actually gcp identity platform) with the session cookie in a NextJS app, everything is working fine but I'm looking a way to refresh the cookie to avoid forcing the user to login again when the session expire. There isn't an official way to do that but I might have found a solution, I'm just not 100% sure this is secure enough or if there are issues I'm missing, the idea is to have a refresh endpoint with this code:
const idToken = req.cookies.session || req.body.sessionCookie;
const session = await auth().verifySessionCookie(idToken, true);
if (session) {
const customToken = await auth().createCustomToken(session.uid);
const response = await fetch(
`${GOOGLE_API}:signInWithCustomToken?key=${process.env.NEXT_PUBLIC_API_KEY}`,
{
method: "POST",
cache: "no-cache",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ token: customToken, returnSecureToken: true }),
},
);
const result = await response.json();
const sessionCookie = await auth().createSessionCookie(result.idToken, {
expiresIn,
});
setCookie(res, "session", sessionCookie, {
...cookieOptions,
maxAge: expiresIn,
});
return res.json({ session, customToken, sessionCookie });
}
then every time I want I can call this refresh endpoint and the session will be updated...it seems to work but I'd like to have some feedback on this.
- Lingua principale
- TypeScript
- Stelle
- 1.8k
- Fork
- 420
- Merge medio
- 5g 6h
- PR unite (30g)
- 11
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di firebase/firebase-admin-node
-
Password policy violation is reported as `auth/internal-error` instead of a specific error codeAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
firebase/firebase-admin-node#3265 ·
I maintainer di solito rispondono entro 7 giorni
-
getToken() replays a failed token refresh to later callers while a valid token is cachedForse già presa @GUMBOKIM l’ha presa 50 giorni fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
firebase/firebase-admin-node#3234 ·
I maintainer di solito rispondono entro 7 giorni
-
[email protected] stable dependency tree fails npm audit via Storage uuid and Firestore google-gaxForse già presa @lahirumaramba l’ha presa 26 giorni fa. Aperta
firebase/firebase-admin-node#3221 · 3 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 7 giorni
-
Misleading error message for THIRD_PARTY_AUTH_ERROR: raw "OAuth 2 access token" text surfaced instead of the APNs-specific messageForse già presa @milcho0604 l’ha presa 52 giorni fa. Apertaapi: messaging
Difficoltà 3/5 1-2 giorni Idoneità per principianti 70/100
firebase/firebase-admin-node#3215 ·
I maintainer di solito rispondono entro 7 giorni
-
api: messaging
Difficoltà 5/5 Più di una settimana Idoneità per principianti 28/100
firebase/firebase-admin-node#3214 ·
I maintainer di solito rispondono entro 7 giorni
Tutte le issue di firebase/firebase-admin-node
Issue simili
-
bug ready-for-agent
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
sleeyax/paseo-plugins#112 ·
I maintainer di solito rispondono entro 2 giorni
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
rossoctl/serverless-harness#428 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
typesense/typesense-js#376 ·
-
ready sonnet zone:app
Difficoltà 2/5 1-3 ore Idoneità per principianti 92/100
wheresrhys/totf#1103 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
prime-radiant-inc/evener#3726 ·
I maintainer di solito rispondono entro 1 giorno