Добавление пользовательских свойств в паспортный токен Laravel - PullRequest
0 голосов
/ 09 июня 2018

Привет. Я хочу добавить некоторые дополнительные свойства в токен доступа, сгенерированный по паспорту Laravel.Я использую Laravel 5.6

Пример декодированного токена:

aud:"1"
exp:1528505818
iat:1528498618
jti:"10c880c491ecb73e39a6b1d7614b4be4e13ef4adf71fbc6f858a69899461fecc001fdefb60a287c1"
nbf:1528498618
scopes:[]
sub:"1"
user: {
  name: "test"
  role: "admin
}

Я читал другие статьи, но они только прикрепляют пользовательский объект к ответу, а не кодируют его в токене.

В качестве альтернативы, как я могу добавить роль в массив областей?

Безуспешно пробовал следующее: (Ошибка 500: Попытка получить свойство не-объекта)

<?php
namespace App\Http\Controllers\API\Auth;

use App\Models\User;
use App\Http\Controllers\Controller;
use Auth;
use Response;

class LoginController extends Controller
{
    public function login() { 
        $content = [];
        if(Auth::attempt(['email' => request('username'), 'password' => request('password')])){
            $user = Auth::user();
            $role = $user->roles()->first()->name;
            $content['access_token'] = $user->createToken('HiveMan App')->accessToken;
            $status = 200;
        }
        else{
            $content['error'] = "Unauthorised";
            $content['message'] = "Your email or password are incorrect";
            $status = 401;
        }
        return response()->json($content, $status); 
    }
}
...