Müssen OAuth2-Zugriffstoken für eine mobile App ablaufen?
Die akzeptierte Antwort hier aufWarum OAuth2-Zugriffstoken ablaufen:
Viele Anbieter unterstützen Inhaber-Token, die in Bezug auf die Sicherheit sehr schwach sind. Indem sie kurzlebig sind und eine Aktualisierung erfordern, begrenzen sie die Zeit, in der ein Angreifer ein gestohlenes Token missbrauchen kann. (Was bedeutet das? Ich verstehe das als Übertragung ohne TLS zulassen? Noch etwas?).Bei einer umfangreichen Bereitstellung soll nicht bei jedem API-Aufruf eine Datenbanksuche durchgeführt werden. Stattdessen wird ein selbstverschlüsseltes Zugriffstoken ausgegeben, das durch Entschlüsselung überprüft werden kann. Dies bedeutet jedoch auch, dass es keine Möglichkeit gibt, diese Token zu widerrufen, sodass sie für kurze Zeit ausgegeben werden und aktualisiert werden müssen.Das Aktualisierungstoken erfordert eine Clientauthentifizierung, die es stärker macht. Im Gegensatz zu den oben genannten Zugriffstoken wird sie normalerweise mit einer Datenbanksuche implementiert.Vorausgesetzt, wir unterstützen keine unverschlüsselte Übertragung des Zugriffstokens, wird der erste Aufzählungspunkt berücksichtigt.
Angenommen, es ist in Ordnung, eine Datenbanksuche mit einem widerrufbaren, vollständig zufälligen Zugriffstoken durchzuführen, übernimmt das zweite.
Bei mobilen Apps kann die Clientauthentifizierung nicht stärker sein, da "die client_id und das client_secret, die bei der Registrierung abgerufen wurden, im Quellcode Ihrer Anwendung eingebettet sind. In diesem Zusammenhang wird das client_secret offensichtlich nicht als Geheimnis behandelt." (Google). Damit entfällt die dritte Sorge.
Welchen Vorteil hat es in diesem Szenario, kurzlebige Zugriffstoken von langlebigen Aktualisierungstoken zu trennen? Ist es "okay", nur nicht ablaufende Zugriffstoken auszustellen und den gesamten Teil des Aktualisierungstokens zu ignorieren?