Ho un backend laravel 5 che invia un jwt-token come risposta json all'accesso con jwt-auth.Aggiungere il ruolo utente al jwt, laravel 5 jwt-auth
Ora vorrei aggiungere il ruolo utente al token JWT che laravel manda, ho provato la seguente modo:
Questo è il mio attuale regolatore
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use JWTAuth;
use Tymon\JWTAuth\Exceptions\JWTException;
use Illuminate\Database\Eloquent\Model;
use App\User;
class AuthenticateController extends Controller
{
public function authenticate(Request $request)
{
// grab credentials from the request
$credentials = $request->only('email', 'password');
$user = User::where('email', '=', $credentials['email'])->first();
$customClaims = ['role' => $user->role];
try {
// attempt to verify the credentials and create a token for the user
if (! $token = JWTAuth::attempt($credentials, $customClaims)) {
return response()->json(['error' => 'invalid_credentials'], 401);
}
} catch (JWTException $e) {
// something went wrong whilst attempting to encode the token
return response()->json(['error' => 'could_not_create_token'], 500);
}
// all good so return the token
return response()->json(compact('token'));
}
}
?>
C'è un modo più pulito per fare questo ?
JWT per php è documentato male. Fare un semplice sistema di login/logout è doloroso! Vedi le mie domande a riguardo. – Maykonn
Stavo cercando la stessa cosa, hai trovato qualche soluzione? – kitensei
Sono andato con la soluzione di cui sopra, anche se è un'altra query. Impossibile trovare una soluzione più pulita – RVandersteen