Heres how i did it
Add a new config file (app/config/baseauth.php)
return [
'users' => collect([
['username', 'secret'],
['otherUser', 'secret123'],
]),
];
Create a middleware php artisan make:middleware BasicAuthenticate
namespace App\Http\Middleware;
use Closure;
class BasicAuthenticate
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if (config('baseauth.users')->contains([$request->getUser(), $request->getPassword()])) {
return $next($request);
}
return response('You shall not pass!', 401, ['WWW-Authenticate' => 'Basic']);
}
}
Register your middleware app/Http/Kernel.php
...
protected $routeMiddleware = [
'auth' => \App\Http\Middleware\BasicAuthenticate::class,
'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
'can' => \Illuminate\Auth\Middleware\Authorize::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
];
...
Use your new middleware in your route file
Route::post('/PCC/webhook', 'PointClickCareController@handleWebhook')->middleware('auth');
hope this helps you