Настройка аутентификации JWT в Милане, ПармарPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Настройка аутентификации JWT в Милане, Пармар

Сообщение Anonymous »

Код: Выделить всё

namespace App\Http\Controllers;

use App\Models\Admin;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\File;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
use Tymon\JWTAuth\Facades\JWTAuth;

class AdminAuthController extends Controller
{
public function login(Request $request)
{
$credentials = $request->only('email', 'password');
if (! $token = auth('admin')->attempt($credentials)) {
return response()->json(['error' => 'Unauthorized'], 401);
}

return $this->respondWithToken($token);
}

public function register(Request $request)
{
$request->validate([
'name' => 'required|string|max:255',
'email' => 'required|string|email|max:255|unique:admins',
'password' => 'required|string|min:6',
]);

$admin = Admin::create([
'name' => $request->name,
'email' => $request->email,
'password' => Hash::make($request->password),
]);

$token = JWTAuth::fromUser($admin);

return response()->json(compact('admin', 'token'), 201);
}

protected function respondWithToken($token)
{
return response()->json([
'access_token' => $token,
'token_type' => 'bearer',
'expires_in' => auth('admin')->factory()->getTTL() * 60
]);
}

public function fetch(){
// Check if the admin is authenticated
if (! Auth::guard('admin')->check()) {
return response()->json(['error' => 'Unauthorized'], 401);
} else {
// If authenticated, proceed
$data = Auth::guard('admin')->user(); // Use guard to get the admin data
return response()->json($data);
}

}
}

namespace App\Models;

use Illuminate\Foundation\Auth\User as Authenticatable; // Important!
use Illuminate\Notifications\Notifiable;
use Tymon\JWTAuth\Contracts\JWTSubject; // For JWT support

class Admin extends Authenticatable implements JWTSubject
{
use Notifiable;

protected $fillable = [
'name', 'email', 'password',
];

// This is needed for JWT
public function getJWTIdentifier()
{
return $this->getKey();
}
}
}
это код, помогающий добавить аутентификацию jwt в ваш проект laravel

Подробнее здесь: https://stackoverflow.com/questions/791 ... lan-parmar
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»