laravel get authorization bearer token
//get Authorization Bearer Token value
$token = $request->bearerToken();
laravel get authorization bearer token
//get Authorization Bearer Token value
$token = $request->bearerToken();
laravel api authentication
<?php
//custom made middleware for token generation and user authentication
//below code for Middleware file in /app/Http/Middleware
namespace App\Http\Middleware;
use Closure;
use \App\Admin;
use Illuminate\Support\Facades\Auth;
class ApiAuthenticate {
public function handle($request, Closure $next) {
$token = $request->bearerToken(); //set as Authorization -> Bearer token... in api requests
if ($token) {
$user = Admin::where('remember_token', $token)->first();
$request->request->add(['user' => $user]); //to fetch logged in user details in other apis
if ($user) {
return $next($request); //pass on the params to controller
} else {
return response()->json('Token expired.');
}
} else{
if (Auth::guard('admin')->attempt(['email' => $request->email, 'password' => $request->password], $request->get('remember'))) {
$remember_token = \Str::random(60);
$user = Auth::user();
$user->last_login = new \DateTime();
$user->remember_token = $remember_token;
$user->save();
$remember_token = Admin::where('id', Auth::user()->id)->value('remember_token');
//remember_token is fetched separately, as it set hidden in its Model
$data = ['remember_token'=>$remember_token]; //to use as Authorization -> Bearer remember_token, in other apis.
return response()->json($data);
}
}
return response()->json('Incorrect Credentials');
// return $next($request);
}
}
//pass below line in /routes/api.php
Route::post('leads', 'Api\UserController@index')->middleware('auth_api');
//use below code in Controller file
<?php
namespace App\Http\Controllers\API;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class UserController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index(Request $request)
{
$data = ['user'=> 'data'];
return response()->json($data);
}
}
//also don't forget to pass this Middleware class in /app/Http/Kernel.php
protected $routeMiddleware = [
'auth_api' => \App\Http\Middleware\ApiAuthenticate::class,
];
Copyright © 2021 Codeinu
Forgot your account's password or having trouble logging into your Account? Don't worry, we'll help you to get back your account. Enter your email address and we'll send you a recovery link to reset your password. If you are experiencing problems resetting your password contact us