[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Jean Silva
Criador Jean Silva 10/10/2022

Olá professor, boa tarde!

Tudo bem?. Poderia me auxiliar, por favor?.

Eu tenho uma aplicação que constroi com laravel 9 + sanctum com backend e como front uso vuejs + ts, estou usando vuex, vuerouter.

O problema:

Qualquer outra senha que não contenha caracter # no campo password, funciona, caso contenha, ele retorna credências invalidas.

Para o sanctum estou usando a doc do laravel como padrão, outras senhas que não contenha esse caracter, funciona normalmente.

Grato.

Manager Carlos Ferreira 10/10/2022

Olá, Jean!
Tudo bem?

Ajudo sim, claro.

O caracter "#" está sendo interpretado pelo seu código, e logo sendo reconhecido como comentário de código.

No seu frontend, no payload da request, como está enviando a senha?
Olha no DevToos do Browser -> Network (XHR)

Carlos Ferreira
Criador Jean Silva 10/10/2022

Olá professora, boa tarde!

No meu payload está assim.

  1. {userId: "sofia.delima", password: "Teclado21#"}
    1. password: "Teste21#"
    2.  
      userId: "sofia.delima"
Jean Silva
Criador Jean Silva 10/10/2022

Corrigindo:

  1. {userId: "sofia.delima", password: "Teste21#"}
    1. password: "Teste21#"
    2.  
      userId: "sofia.delima"
Jean Silva
Manager Carlos Ferreira 10/10/2022

Olá, Jean!
Tudo bem?

Desculpas demorar te responder;

Sua senha realmente termina no caracter "#"?
Ou é algo tipo "Teste21#MaisAlgumaCoisa"?

Porque se o frontend está enviando corretamente, o problema está no back, com isso já temos um filtro de onde atacar.

Tem o backend no GitHub?

Carlos Ferreira
Criador Jean Silva 10/10/2022

Opa Professor, boa tarde!

Obrigado pelo apoio, segue abaixo, inclui para você.

https://github.com/jeanasilva/gt_back

https://github.com/jeanasilva/gt_front

Agradeço toda sua ajuda.

Jean Silva
Manager Carlos Ferreira 10/10/2022

Opa amigo, vou agendar aqui para verificar o seu projeto.

Só confirma para mim por favor:
Sua senha realmente termina no caracter "#"?
Ou é algo tipo "Teste21#MaisAlgumaCoisa"?

Carlos Ferreira
Criador Jean Silva 10/10/2022

Olá Professor, boa tarde!

Obrigado pela ajuda.

Efetuei os testes nos no meio e no final, ambas acontecem o mesmo erro.

Teste#21

Teste21#

Jean Silva
Manager Carlos Ferreira 10/10/2022

Certo, a ideia era saber se o seu frontend estava enviando corretamente os dados para o backend, pelo o que confirmou, sim, está enviando corretamente os dados no payload, certo?

Vou verificar o seu backend e te retorno;Certo, a ideia era saber se o seu frontend estava enviando corretamente os dados para o backend, pelo o que confirmou, sim, está enviando corretamente os dados no payload, certo?

Vou verificar o seu backend e te retorno;

Carlos Ferreira
Manager Carlos Ferreira 10/10/2022

Faz um debug por favor, no seu método login do controller AuthController, qual o valor que chega para a senha, quando informa:
"aaa#aaa"
dd($request->password);

Porque se chegou aqui o valor correto, o problema está na chamada da API que você está fazendo, ou seja, nos dados que enviou como query param;

Como a request é tipo post, melhor enviar os dados no body da request, e não como query params:
$response = Http::post('url aqui', [
    'userId ' => $request->userId,
    'password ' => $request->password,
]);

(https://laravel.com/docs/9.x/http-client#request-data)

Carlos Ferreira
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!