Subjects

All subjects Django Java Python React Spring Boot JavaScript PHP
Sign Up Free
Question 4 of 10 · RESTful API Development in PHP
Interview question

How do you handle API authentication using tokens (e.g. Laravel Sanctum/JWT)? Tokens का उपयोग करके API authentication कैसे handle करें?

Answer

Token-based authentication issues a token on login that the client sends with every subsequent request, avoiding the need for server-side session state.

// Login - issue token
Route::post('/login', function (Request $request) {
    $user = User::where('email', $request->email)->first();
    if (!$user || !Hash::check($request->password, $user->password)) {
        return response()->json(['message' => 'Invalid credentials'], 401);
    }
    $token = $user->createToken('api-token')->plainTextToken;
    return response()->json(['token' => $token]);
});

// Protecting routes
Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
    return $request->user();
});
Header sent by clientValue
AuthorizationBearer <token>

Token-based authentication login पर एक token issue करता है जो client हर request के साथ भेजता है, server-side session state की ज़रूरत नहीं होती।

Route::post('/login', function (Request $request) {
    $user = User::where('email', $request->email)->first();
    if (!$user || !Hash::check($request->password, $user->password)) {
        return response()->json(['message' => 'Invalid credentials'], 401);
    }
    $token = $user->createToken('api-token')->plainTextToken;
    return response()->json(['token' => $token]);
});

Was this answer clear?