入力データを認証サービス プロバイダーに送信する前にミドルウェアを追加し、データベースに対して受信する電子メールを確認します。電子メールが検証された場合は、認証サービス プロバイダーに送信してリクエストを続行します。それ以外の場合は、任意のカスタム メッセージでエラー応答を返します。
人々はまだこの答えを探していて、このページに来ています。独自のoauth/tokenルートを定義するのも 1 つの方法かもしれませんが、データをコントローラーに送信する前に変更を行う目的で作成されたミドルウェアを使用する場合は、より論理的です。
ミドルウェアを作成します。php artisan make:middleware MyMiddleware
ミドルウェアをカーネルに登録し、認証ミドルウェアの前に作成します
protected $routeMiddleware = [
'auth' => \Illuminate\Auth\Middleware\Authenticate::class,//auth middleare
'your_middleware_identifier'=>\App\Http\Middleware\MyMiddleware::class,
];
/**
* The application's middleware priority array.
*
* These middlewares will be executed in way they are listed.
*
* @var array
*/
protected $middlewarePriority = [
\App\Http\Middleware\MyMiddleware::class,
\Illuminate\Auth\Middleware\Authenticate::class,
];
最後に、パスポートルートがある AuthServiceProvider.php ファイルでミドルウェアを使用できます: boot() 関数で
public function boot(Request $request)
{
$this->registerPolicies();
Route::group(['middleware' => 'your_middleware_identifier'], function () {
Passport::routes();
});
}
役立つことを願っています