es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Laravel 8: o middleware para la ruta por auth:sanctum o auth.basic.once.

Quiero que el usuario pueda iniciar sesión con las 2 autenticaciones que creé. Pero cuando agrego como se muestra a continuación, arroja un error y me hace ingresar ambos estilos de autenticación que creé, aunque solo quiero ingresar uno de los dos estilos de autenticación para iniciar sesión exitosamente.

No sé si alguien ha tenido la misma situación que yo. ¿Pueden decirme cómo solucionar este problema?

Ruta del código api.php:

Route::group([‘middleware’ => [‘auth:sanctum’, ‘auth.basic.once’]], function () {
Route::get(‘/images’, [ImageController::class, ‘index’]);
});

He intentado algunas formas como las siguientes, pero aún no funciona y eso incluye Parámetros de Middleware: https://laravel.com/docs/8.x/middleware#middleware-parameters

Route::group([‘middleware’ => [‘auth:sanctum|auth.basic.once’]], function () {
Route::get(‘/images’, [ImageController::class, ‘index’]);
});

O

Route::group([‘middleware’ => [‘auth:sanctum|auth.basic.once’]], function () {
Route::get(‘/images’, [ImageController::class, ‘index’]);
});

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que estás intentando utilizar dos métodos de autenticación (auth:sanctum y auth.basic.once) para la misma ruta. Lamentablemente, esto no es posible. Solo puedes utilizar un método de autenticación por ruta.

    Si quieres que el usuario pueda iniciar sesión con los dos métodos de autenticación que has creado, tendrás que crear dos rutas diferentes para cada método de autenticación. Por ejemplo:

    Route::group(['middleware' => ['auth:sanctum']], function () {
       Route::get('/images', [ImageController::class, 'index']);
    });
    
    Route::group(['middleware' => ['auth.basic.once']], function () {
       Route::get('/images', [ImageController::class, 'index']);
    });
    

Comments are closed.