Retornando 404
[Finalizado Pelo Aluno]
Estou usando Laravel 9 e está retornando 404 Not Found.
Route::group([
'prefix' => 'v1',
'middleware' => ['auth:sanctum']
], function () {
Route::apiResource('users', UserController::class);
});
Se eu comentar ('middleware' => ['auth:sanctum']) ai funciona normal, porém sem proteção, qualquer pessoa pode ver os dados.
Olá, Wesley!
Tudo bem?
O erro de 404 é falando a que a page login not found? Algo assim?
Isso pode ser porque tentou acessar esse endpoint desta API sem passar os headers corretos
Accept: application/json
Está acessando via o postman?
Print: https://uploaddeimagens.com.br/
Bom dia. Tudo joia.
O erro de 404 é falando a que a page login not found? Algo assim?
R: Não, segue o print do erro:
https://uploaddeimagens.com.br/imagens/gyRQdfQ
Está acessando via o postman?
R: Sim
OBS: O registro do token na tabela (personal_access_tokens) é registrado com sucesso. Porém ao acessa qualquer listagem, como por exemplo dos usuários do banco, ai da esse erro 404 not found.
Eu posso compartilhar o projeto do GitHub para você ver, adiciono você lá no repositório. Não sei se facilita entender o erro kkk.
Reparei que em routes/web.php não tinha uma rota definida para o login. Então eu inseri:
Route::get('/login', [AuthController::class, 'loginVue']);
Agora o erro no postman não é mais o 404 not found. Agora ele redireciona para a rota de login.
Olá, Wesley!
O erro é de not found: https://prnt.sc/Zdztb697u08o
Existe essa rota no arquivo routes/api.php?
Se quiser compartilhar o código comigo.
Existe essa rota no arquivo routes/api.php?
R: em routes/api.php não existe a rota para login, apenas em routes/web.php
Qual e-mail que eu posso adicionar você nesse projeto do github?
Consegui resolver o problema.
O que fiz?
Acessei App\Http\Middleware\Authenticate.php
Antes:
use Closure;
class Authenticate
{
/**
* Get the path the user should be redirected to when they are not authenticated.
*
* @param \Illuminate\Http\Request $request
* @return string|null
*/
public function handle($request, Closure $next)
{
if (!is_null(request()->user())) {
return $next($request);
} else {
return redirect('login');
}
}
}
Alterei para:
use Illuminate\Auth\Middleware\Authenticate as Middleware;
class Authenticate extends Middleware
{
/**
* Get the path the user should be redirected to when they are not authenticated.
*
* @param \Illuminate\Http\Request $request
* @return string|null
*/
public function redirectTo($request)
{
if (! $request->expectsJson()) {
return route('login');
}
}
}
Agora quando não envio o token, retorna:
Me refiro a rota de users
Pode adicionar o usuário carlosfgti
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!