Ich verwende die benutzerdefinierte Authentifizierung in Azure Mobile Services, indem ich ein JWT (JSON Web Token) in einer benutzerdefinierten Anmelde-API erzeuge. Sobald ein Benutzer ein JWT hat, ist es gültig, bis seine codierte Ablaufzeit erreicht ist.
Abgesehen von der expliziten Überprüfung des JWT-Tokens gegen eine Sitzungstabelle bei jeder authentifizierten Anfrage, gibt es eine Möglichkeit, das JWT-Token vor Ablauf der Gültigkeitsdauer (wie bei einem Abmelden eines Benutzers) so ungültig zu machen, dass jede weitere Anfrage mit diesem Token erfolgt Wie würde ein Wert im Header X-ZUMO-AUTH
niemals APIs für Tabellen oder benutzerdefinierte API-Skripts erreichen?
Nicht wirklich. Wenn sich ein Benutzer im Client abmeldet, wird die von ihm verwendete JWT nicht wirklich ungültig gemacht - er wird nur aus dem Speicher des Clients entfernt (siehe Code auf verwaltetes SDK , zum Beispiel). Die JWT-Validierung wird durchgeführt, indem die Signatur des Diensts gegen den Hauptschlüssel des mobilen Diensts geprüft wird und der Schlüssel nicht geändert wird (was die alle der JWT-Token Ihres Dienstes ungültig machen würde, was ich Ihnen nicht glaube will), das Token ist gültig, bis es abgelaufen ist.
Da Sie die JWTs selbst generieren, können Sie eine kleinere Ablaufzeit in Erwägung ziehen, die in Ihrem Fall hilfreich sein kann.
Sie können diese Funktion auch im Feedbackforum des mobilen Service vorschlagen. Es gibt eine verwandte Funktion Vorschlag , den ich erstellt habe, können Sie auch einen Kommentar hinzufügen und ihn abstimmen.
Zur Unterstützung der JWT-Invalidierung ( gibt es immer Gründe ):
Ich habe schließlich eine eindeutige Zeichenfolge pro Benutzer gespeichert, die ich mit einer globalen allgemeinen Zeichenfolge hash, so dass ich das Token eines einzelnen Benutzers oder alle Token nach Bedarf ungültig machen kann.
Tags und Links security jwt azure-mobile-services