Traduire : Laravel : obtenir le jeton Sanctum par ID utilisateur
P粉982054449
2023-07-30 15:35:48
<p>J'essaie d'obtenir le jeton Sanctum de l'utilisateur en fonction de l'ID utilisateur, mais je n'y parviens pas. L'application est une application d'une seule page utilisant React Native comme frontend et Laravel comme backend. </p><p>J'ai essayé la méthode suivante mais j'ai obtenu un objet vide. </p><p><br /></p>
<pre class="brush:php;toolbar:false;">$user = User::find($request['user_id']);
$tokens = $user->tokens();</pre>
<p>Voici comment créer le jeton lorsque l'utilisateur s'inscrit : </p>
<pre class="brush:php;toolbar:false;">$user = new User();
$utilisateur->nom = 'Nom';
$user->save();
$token = $user->createToken($request->input('device_name'))->plainTextToken;
$user = $user->fresh();</pre>
<p>Le jeton a-t-il été créé correctement ? Après avoir utilisé createToken, dois-je le sauvegarder à nouveau ? </p>
Pour obtenir le jeton, vous devez ajouter la fonction ->get().
Le bon code est :
En effet, $user->tokens() renvoie un objet générateur de requêtes, vous pouvez donc ajouter toutes les fonctions du générateur de requêtes pour filtrer, trier et sélectionner les jetons.
Par exemple :
Veuillez noter que les jetons sont stockés dans la table personal_access_tokens et que la clé étrangère est tokenable_id.