You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

40 lines
1.1 KiB

<?php
namespace App\Providers;
use App\Documents\FingerPrintDocument;
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class AuthServiceProvider extends ServiceProvider
{
/**
* The model to policy mappings for the application.
*
* @var array<class-string, class-string>
*/
protected $policies = [
// 'App\Models\Model' => 'App\Policies\ModelPolicy',
];
/**
* Register any authentication / authorization services.
*
* @return void
*/
public function boot()
{
$this->registerPolicies();
Auth::viaRequest('token', function (Request $request) {
if ($request->bearerToken() === null) {
return null;
}
// you can change this line base on service you are on.
$fingerPrint = FingerPrintDocument::where('token', $request->bearerToken())->with('user')->first();
return empty($fingerPrint) ? null : $fingerPrint->user;
});
//
}
}