In unserer App wird das Zugriffstoken für dieses bestimmte Gerät auf diese Weise ungültig, wenn sich der Benutzer abmeldet.
$user = $request->user();
$value = $request->bearerToken();
$id = (new Parser())->parse($value)->getHeader('jti');
$token = $user->tokens->find($id);
$token->revoke();
Wenn ein Benutzer sein Konto deaktiviert, möchten wir alle Zugriffstoken von allen Geräten, auf denen der Benutzer angemeldet ist, ungültig machen. Ich habe das Dokument durchgesehen, aber nichts Nützliches gefunden. Vielen Dank
Schauen Sie sich das Merkmal HasApiTokens
an, das der Pass bietet. Die Dokumentation empfiehlt, dieses Merkmal Ihrem Benutzermodell hinzuzufügen. Eine der Methoden, die es zur Verfügung stellt, ist tokens()
, die eine hasMany
Beziehung zwischen Laravel\Passport\Token
Und Modellen unter Verwendung des Merkmals definiert. Sie können dies verwenden, um eine Liste aller Token für einen bestimmten Benutzer abzurufen:
$userTokens = $userInstance->tokens;
Das Token-Modell selbst hat eine revoke
-Methode:
foreach($userTokens as $token) {
$token->revoke();
}