Sitzungsverwaltung
Auris verwaltet Benutzersitzungen durch eine Kombination aus OAuth2-Tokens (Access Tokens und Refresh Tokens) und serverseitigen Sitzungsdatensätzen. Dieser Leitfaden erklärt den Sitzungs-Lebenszyklus, wie Sitzungsrichtlinien konfiguriert werden, wie Token-Rotation funktioniert und wie Sitzungen programmatisch widerrufen werden.
Sitzungs-Lebenszyklus
Wenn sich ein Benutzer über den gehosteten Login-Flow authentifiziert, erstellt Auris Folgendes:
-
OAuth-Sitzung — Ein serverseitiger Datensatz, der den Authentifizierungsstatus verfolgt, mit einem
httpOnly-Cookie gespeichert. Diese Sitzung hat eine 30-Minuten-TTL und wird nur während des Login-Flows selbst verwendet. -
Access Token — Ein kurzlebiges JWT (Standard: 60 Minuten), das an deine Anwendung zurückgegeben wird. Wird als Bearer-Token zur Authentifizierung von API-Anfragen verwendet.
-
Refresh Token — Ein langlebiges opakes Token (Standard: 30 Tage), das verwendet wird, um neue Access Tokens zu erhalten, ohne dass sich der Benutzer erneut anmelden muss.
-
Login-Sitzung — Ein serverseitiger Datensatz in Auris, der die aktive Sitzung verfolgt, einschließlich Geräteinformationen, IP-Adresse und verwendeter Authentifizierungsmethoden.
Sitzungsrichtlinien konfigurieren
Sitzungsrichtlinien steuern, wie lange Sitzungen gültig bleiben. Konfiguriere diese in der Auris-Console unter Einstellungen → Sicherheit.
| Einstellung | Standard | Beschreibung |
|---|---|---|
| Access-Token-Lebensdauer | 60 Minuten | Wie lange ein Access Token gültig ist, bevor es erneuert werden muss |
| Refresh-Token-Lebensdauer | 30 Tage | Maximale Zeit, in der ein Refresh Token verwendet werden kann |
| Absolute Sitzungsablaufzeit | 30 Tage | Maximale Sitzungsdauer unabhängig von der Aktivität |
| Idle-Timeout | 7 Tage | Wenn ein Benutzer innerhalb dieses Zeitraums keine authentifizierte Aktion ausführt, wird die Sitzung invalidiert |
| Refresh-Token-Rotation | Aktiviert | Bei Aktivierung gibt jede Verwendung eines Refresh Tokens ein neues Refresh Token aus |
Kurze Access-Token-Lebensdauern (15–30 Minuten) in Kombination mit Refresh-Token-Rotation bieten die beste Sicherheitslage. Das SDK übernimmt die Aktualisierung automatisch, sodass kürzere Lebensdauern das Benutzererlebnis nicht beeinträchtigen.
Token-Rotation
Wie Refresh-Token-Rotation funktioniert
Wenn die Refresh-Token-Rotation aktiviert ist (empfohlen), funktioniert der Token-Exchange-Flow so:
- Deine Anwendung sendet das aktuelle Refresh Token an den Token-Endpunkt
- Auris validiert das Refresh Token und prüft, ob es widerrufen wurde
- Auris gibt ein neues Access Token und ein neues Refresh Token aus
- Das alte Refresh Token wird sofort invalidiert
- Deine Anwendung speichert das neue Refresh Token und ersetzt das alte
Wiederverwendungs-Erkennung
Wenn Auris ein Refresh Token erhält, das bereits verbraucht wurde (was darauf hinweist, dass es gestohlen und erneut abgespielt wurde), geschieht Folgendes:
- Alle Refresh Tokens in derselben Token-Familie werden invalidiert
- Ein Sicherheitsereignis wird im Audit-Log aufgezeichnet
- Der Benutzer muss sich auf allen Geräten erneut authentifizieren
Stelle sicher, dass deine Anwendung die Token-Speicherung atomar behandelt. Wenn eine Refresh-Antwort empfangen wird, aber das neue Token nicht gespeichert wird, ist das alte Token bereits ungültig und der Benutzer muss sich erneut authentifizieren.
Sitzungen programmatisch widerrufen
Eine bestimmte Sitzung widerrufen
curl -X DELETE https://auth.ihredomain.com/api/sessions/{sessionId} \
-H "Authorization: Bearer $AURIS_ACCESS_TOKEN" \
-H "x-tenant: ihr-tenant-id"Oder aus dem SDK:
import { AurisClient } from '@auris/js'
const auris = new AurisClient({
domain: 'auth.ihrUnternehmen.com',
clientId: 'ihr-client-id',
})
// Aktuelle Sitzung abmelden
await auris.logout({ returnTo: 'https://ihreapp.com' })Alle Sitzungen eines Benutzers widerrufen
Bei einem Sicherheitsvorfall (kompromittiertes Konto, gestohlene Anmeldedaten) alle Sitzungen eines Benutzers sofort beenden:
curl -X POST https://auth.ihredomain.com/api/users/{userId}/revoke-sessions \
-H "Authorization: Bearer $AURIS_ACCESS_TOKEN" \
-H "x-tenant: ihr-tenant-id"Erneute Authentifizierung erzwingen
Um zu verlangen, dass sich ein Benutzer bei seiner nächsten Interaktion erneut authentifiziert, ohne bestehende Sitzungen zu beenden:
curl -X POST https://auth.ihredomain.com/api/users/{userId}/force-reauth \
-H "Authorization: Bearer $AURIS_ACCESS_TOKEN" \
-H "x-tenant: ihr-tenant-id"Sitzungsverwaltung für mehrere Geräte
Auris verfolgt Sitzungen pro Gerät, sodass Benutzer und Administratoren aktive Sitzungen auf allen Geräten anzeigen und verwalten können.
Aktive Sitzungen auflisten
curl https://auth.ihredomain.com/api/user/sessions \
-H "Authorization: Bearer $AURIS_ACCESS_TOKEN" \
-H "x-tenant: ihr-tenant-id"Antwort:
{
"ok": true,
"data": [
{
"id": "sess_abc123",
"deviceInfo": "Chrome 120 auf macOS",
"ipAddress": "203.0.113.42",
"location": "Mailand, Italien",
"lastActiveAt": "2026-01-15T14:30:00Z",
"createdAt": "2026-01-10T09:00:00Z",
"isCurrent": true
}
]
}Admin-Sitzungsverwaltung
Administratoren können Sitzungen für jeden Benutzer in der Console anzeigen und widerrufen:
- Navigiere zu Benutzer und wähle den Benutzer aus
- Öffne den Sitzungen-Reiter
- Zeige alle aktiven Sitzungen mit Gerät, IP, Standort und letzter Aktivität an
- Klicke auf Widerrufen für einzelne Sitzungen oder Alle widerrufen
Best Practices für Sitzungssicherheit
Kurze Access-Token-Lebensdauern verwenden. Access Tokens sind zustandslos und können nicht einzeln widerrufen werden. Halte sie kurz (15–60 Minuten).
Refresh-Token-Rotation aktivieren. Dies ist die effektivste Verteidigung gegen Token-Diebstahl.
Absoluten Sitzungsablauf setzen. Auch mit Refresh-Token-Rotation sollten Sitzungen eine Obergrenze haben. Für die meisten Anwendungen sind 30 Tage ein guter Standard.
Sitzungen serverseitig für sensible Operationen verifizieren:
import { getSession } from '@auris/nextjs/server'
export async function transferFunds(req: Request) {
const session = await getSession()
if (!session) {
return Response.json({ error: 'Sitzung abgelaufen' }, { status: 401 })
}
// Sitzung ist gültig und aktiv — fortfahren
}Verwandte Leitfäden
- Gehostetes Login (PKCE) — Wie Tokens während des Login-Flows ausgegeben werden
- Multi-Faktor-Authentifizierung — Zweiten Faktor zur Sitzungserstellung hinzufügen
- Angriffsschutz — Brute-Force-Sperrung und Suspicious-Login-Erkennung
- Rate Limiting — API-Rate-Limits auf Authentifizierungsendpunkten