suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Übersetzen: Laravel: Sanctum-Token anhand der Benutzer-ID abrufen

<p>Ich versuche, das Sanctum-Token des Benutzers basierend auf der Benutzer-ID abzurufen, aber es gelingt mir nicht. Die Anwendung ist eine Einzelseitenanwendung, die React Native als Frontend und Laravel als Backend verwendet. </p><p>Ich habe die folgende Methode ausprobiert, aber ein leeres Objekt erhalten. </p><p><br /></p> <pre class="brush:php;toolbar:false;">$user = User::find($request['user_id']); $tokens = $user->tokens();</pre> <p>So erstelle ich das Token, wenn sich der Benutzer registriert: </p> <pre class="brush:php;toolbar:false;">$user = new User(); $user->name = 'Name'; $user->save(); $token = $user->createToken($request->input('device_name'))->plainTextToken; $user = $user->fresh();</pre> <p>Wurde das Token korrekt erstellt? Muss ich createToken nach der Verwendung erneut speichern? </p>
P粉982054449P粉982054449482 Tage vor557

Antworte allen(1)Ich werde antworten

  • P粉638343995

    P粉6383439952023-07-31 09:03:30

    要获取令牌,你需要添加->get()函数。

    正确的代码是:


    $tokens = $user->tokens()->get();

    这是因为$user->tokens()返回一个查询构建器对象,所以你可以追加所有的查询构建器函数来过滤、排序和选择令牌。

    例如:


    $user->tokens()->orderBy('created_at', 'DESC')->first();

    请注意,令牌存储在personal_access_tokens表中,外键是tokenable_id。

    Antwort
    0
  • StornierenAntwort