Web API C# | ASP.NET Core 7.0 | Aula 04 | Tokens | JWT

Поділитися
Вставка
  • Опубліковано 20 січ 2025

КОМЕНТАРІ • 53

  • @ERICKZR1
    @ERICKZR1 4 місяці тому +1

    Fiz aqui no NET CORE 8 e funcionou direitinho pai, tou amando sua serie de C#, Peguei um crud com webapi em c# para fazer , e eu nunca mexi com c#, com seus videos estou aprendendo tudo sobre c#

  • @gustavodamasceno9117
    @gustavodamasceno9117 Рік тому +3

    Cara, que vídeo incrível. Parabéns pelo trabalho!

  • @VictorHugo-fe3qx
    @VictorHugo-fe3qx 7 місяців тому +1

    Meu irmão, obrigado pelo vídeo. Tem umas três horas que não consigo fazer meu JWT funcionar na autenticação. Vim em seu video e vi que você setou o ValidateIssuer = false e ValidateAudience = false. Não estou usando validando isso, porém eu só não passei a propriedade ao definir o TokenValidationParameters. Cara, que alivio, muito obrigado!.

    • @filipebritodev
      @filipebritodev  7 місяців тому

      Programação tem umas lutas dessas mesmo kk Mas que bom que ajudou 😃

  • @rogersilvasantosaguiar4635
    @rogersilvasantosaguiar4635 Рік тому +1

    Já dei o like antes de começar o vídeo porque já sei que seus tutoriais são top mesmo! kkk
    Parabéns e obrigado por compartilhar o conhecimento!

  • @CanalExistencial
    @CanalExistencial Рік тому +1

    Cara, salvou demais! Meu parabéns pelo trabalho! Ganhaste um inscrito!

  • @jonathanbarros3143
    @jonathanbarros3143 12 днів тому +1

    Amigo, estou com um problema aqui. No código que tu colocou, JwtBearerDefaults fica vermelho pra mim. Já instalei e reinstalei os 2 pacotes 2 vezes, mas o problema continua. Como resolver?

  • @sinhuu.s2
    @sinhuu.s2 Рік тому +1

    vc é foda, te amo

  • @stefanpicciani1551
    @stefanpicciani1551 Рік тому +1

    Arrasou irmãozão 💪🏻

  • @arthurguelle
    @arthurguelle 4 місяці тому +2

    Rapais tomei um baile pra autenticar kk na Hora de colar o codigo de autenticar voce escreve rapiadão 'Bearer ' eu não tinha reparado kkkkkkk Obrigado pelo conteudo!!

    • @filipebritodev
      @filipebritodev  4 місяці тому

      kkk foi mal. É o costume. Mas que bom que você conseguiu autenticar. 😁

  • @carlosvalente9736
    @carlosvalente9736 5 місяців тому +1

    Fala Felipe, estou aprendendo muito com os seus vídeos, como estou começando agora estou tendo um pouco de dificuldade, na hora de iniciar o projeto diz que não é possível conectar ao servidor web "https" o servidor web não está mais em execução, estou a dois dias travado tentando resolver e não consigo, se puder dar uma força, passou a dar esse erro após o minuto 11:40 do vídeo.

    • @filipebritodev
      @filipebritodev  5 місяців тому

      Carlos, pode ser um problema no certificado SSL do Visual Studio. Eu tive algo parecido e esses comandos resolveram:
      1. Abra o cmd.
      2. Execute: dotnet dev-certs https --clean.
      3. Depois, execute: dotnet dev-certs https --trust.
      Veja se funciona para você.

    • @carlosvalente9736
      @carlosvalente9736 5 місяців тому +1

      @@filipebritodev Muito obrigado, deu certo. Continue gravando vídeos como esse, está me ajudando muito. Show de bola.

    • @filipebritodev
      @filipebritodev  5 місяців тому

      Show! Pode deixar 😃

    • @carlosvalente9736
      @carlosvalente9736 5 місяців тому

      Eu de novo, no AuthController está dando erro no Model.Employeee
      "var token = TokenService.GenerateToken(new Model.Employee());" ját entei aqui ver o que é mas não encontro,

    • @carlosvalente9736
      @carlosvalente9736 5 місяців тому

      @@filipebritodev eu de novo, no AuthController não está reconhecendo o Model.Employee "var token = TokenService.GenerateToken(new Model.Employee());" e se coloco algum nome dentro até abre a API mas ao gerar o token estoura um erro também

  • @0edvaldojoao
    @0edvaldojoao 3 місяці тому +1

    Eu segui todos os passos, mas eu me encarei com um problema, ao apertar bo cadeado para autorizar, mesmo que eu meta um token errado, ele me autoriza, e qua do eu faço a requisição aparece o erro 401, mas quando eu meto o token certo, recebo o mesmo erro.

    • @filipebritodev
      @filipebritodev  3 місяці тому

      Dar uma olhada no console, apresentar alguma mensagem de erro na validação. Checar também se está colocando o "Bearer _TOKEN" na frente do token.

    • @filipebritodev
      @filipebritodev  3 місяці тому

      Se ainda tiver problema, aparece lá no discord e manda alguns prints do código.

  • @edsonrcosta
    @edsonrcosta Рік тому +3

    Felipe, ótimo vídeo!
    como seria os response de erro quando o token nao e autenticado (401).
    Queria mostrar minha própria mensagem personalizada. "Token não autorizado".

    • @filipebritodev
      @filipebritodev  Рік тому +2

      Fala Edson, espero que esteja tudo bem contigo. Desculpa pela demora, mas você pode criar um Authorize personalizado. Vou te passar um exemplo:
      public class CustomAuthorization : AuthorizeAttribute
      {
      protected override void HandleUnauthorizedRequest(HttpActionContext actionContext)
      {
      actionContext.Response = new HttpResponseMessage
      {
      StatusCode = HttpStatusCode.Forbidden,
      Content = new StringContent("You are unauthorized to access this resource")
      };
      }
      }
      [CustomAuthorization]
      public IHttpActionResult Get()
      {
      return Ok();
      }
      Fonte: stackoverflow.com/questions/42505523/how-to-return-custom-message-if-authorize-fails-in-webapi

  • @Lucasssamueel
    @Lucasssamueel Рік тому +1

    Fala Filipe, estou tento um problema em uma aplicação nova ao tentar acessar a DNS que está hosteando o meu serviço via docker. Tenho um erro 504 ao tentar acessar essa rota, porém localmente consigo rodar normalmente.
    Sabe se tenho que fazer alguma configuração estra no meu startup?

    • @filipebritodev
      @filipebritodev  Рік тому

      A única possível causa de bloqueio da aplicação seria a falta de configuração adequada do CORS, um tópico que detalho mais adiante nessa série de vídeos.
      Recomendo verificar os logs da aplicação para identificar se há algum erro utilizando o comando:
      docker logs ID_CONTAINER
      Dessa forma, será possível obter mais informações sobre eventuais problemas e diagnosticar a situação com maior precisão.

  • @AAgênci.a
    @AAgênci.a 11 місяців тому +1

    Bom dia Filipe, estou acompanhando seus vídeos e agregando muito conhecimento, desde já lhe agradeço.
    Filipe, acompanhei o projeto, fui desenvolvendo junto com os vídeos, tudo funcionando perfeitamente, mesmo com os NUGETS ATUALIZADOS PARA OS ATUAIS, está gerando o token normal, mas tem um detalhe, no momento de testar os métodos da api após a autenticação com o token, dá a mensagem como se não tivesse sido autorizado. Consegue dar uma luz, por favor?

  • @pedrohenrickmesquitacosta5206
    @pedrohenrickmesquitacosta5206 2 роки тому +1

    Fala Felipe, tudo certo?
    Cara, em JS nós conseguimos tanto criar o token, quanto descerializar o mesmo.
    Tem alguma forma de fazer isso em c#? Descerializar e pegar as informações do usuário pra validar uma rota put das informações do usuário por exemplo (nesse exemplo verificando se o usuário está editando as duas informações e não a de outro usuário)

    • @filipebritodev
      @filipebritodev  2 роки тому +3

      Tem sim! Vou te passar um código de exemplo para você tentar no seu projeto. Caso não consiga, não se preocupe que na próxima aula vou trazer esse tema.
      //No arquivo do Controller
      [HttpPost]
      public async Task Exemplo()
      {
      var user = GetNameUser(this.User);
      }
      public string GetNameUser(ClaimsPrincipal user)
      {
      var claims = user.Identity as ClaimsIdentity;
      var nameUser = ExtractObjectValue(claims, "nameUser");
      return nameUser;
      }
      public string ExtractObjectValue(ClaimsIdentity claimIdentity, string param)
      {
      IEnumerable claims = claimIdentity.Claims;
      var value = claims.FirstOrDefault(x => x.Type == param);
      if (value == null)
      {
      throw new Exception("Token inválido.");
      }
      return value.Value;
      }

  • @jhonathanyamamoto9095
    @jhonathanyamamoto9095 2 роки тому +1

    Fala mestre, uma pergunta sobre Tokens, no seguinte cenário, usuario solicita alteração de senha de sua conta o sistema gera um token de segurança e encaminha no E-mail do usuario, ao clicar no link ele é redirecionado para alterar sua senha, porém o token fica exposto na url, minha pergunta. Isso seria seguro, deixar token exposto na url?

    • @filipebritodev
      @filipebritodev  2 роки тому

      É seguro sim, porém esse Token deverá ter um tempo de vida menor, para evitar qualquer uso indevido.

    • @jhonathanyamamoto9095
      @jhonathanyamamoto9095 2 роки тому +1

      @@filipebritodev Muito obrigado pelo seu feedback.

  • @magnificoVirtual
    @magnificoVirtual Рік тому +1

    Fala Filipe, como sempre ótimo vídeo! Parabéns! Estou com Problema no meu arquivo de configuração do TokenService quando passo como parametro para o Generatetoken O Employee. Ele diz que "O nome do tipo ou do namespace "Employee" não pode ser encontrado." Já tentei instalar os pacotes que o visual studio recomendo, mas também não deu certo. Consegue me ajudar? Obrigado.

    • @filipebritodev
      @filipebritodev  Рік тому +1

      Fala Rafael, tudo bom? Verifica o namespace (caminho do arquivo) da sua classe "Employee" e tenta chamar a classe incluindo o caminho completo, por exemplo: "WebApi.Model.Employee".

  • @Archivesish
    @Archivesish 2 роки тому +6

    Seus videos são ótimos mas uma sugestão que eu gostaria de dar é evitar esse copiar e colar de códigos, isso deixa o vídeo muito mais confuso do que deveria e acaba estragando sua didática e a proposta do video
    Por mais que o código seja grande, digite e vai explicando enquanto digita, isso ajuda muito mais quem ta assistindo do que ver código que ta vindo do "nada"
    abraço

    • @filipebritodev
      @filipebritodev  2 роки тому +4

      Obrigado pela dica. Fiquei preocupado com o tempo do vídeo e não me atentei a este detalhe.
      Vamos melhorar esse ponto nos próximos vídeos!

    • @sinhuu.s2
      @sinhuu.s2 Рік тому

      Eeeee🎉

  • @victormarconi5992
    @victormarconi5992 Рік тому +1

    Cara, tô acompanhando seus vídeos, me da uma ajuda. Eu tentei replicar seu código e ele não reconhece o "JwtBearerDefaults", tô usando .NET8, tentei voltar para o .NET7 e o erro continua. Se puder me ajudar fico muito grato.

    • @victormarconi5992
      @victormarconi5992 Рік тому +1

      Na verdade eu consegui usando a versão 7.0.14 ao inves da 8.0 do pacote nuget.

    • @filipebritodev
      @filipebritodev  Рік тому

      Top!! 😊.

    • @evertonsantana574
      @evertonsantana574 11 місяців тому +1

      Estou com o mesmo problema, só que só é resolvido ao instalar o pacote "Microsoft.AspNetCore.Authentication.JwtBearer" que não é mencionado no video, pesquisando na internet o erro parece ser a falta dele mesmo, mas ao realizar a instalação dele, apesar de reconhecer as variavéis, a rota não autorizada. Sempre recebo um retormo 401, sem nenhum motivo para a não autorização.

    • @evertonsantana574
      @evertonsantana574 11 місяців тому +1

      Vendo as dependencia desse projeto que ele fez no Github vi que ele usa sim o pacote que mencionei, na versão 7.0.1 apesar de não ter dito no video, talvez seja instalado como dependencia e etc, o problema é que não consigo instalar esta versão, me diz que não é suportado pelo .net 6.0

    • @evertonsantana574
      @evertonsantana574 11 місяців тому

      @@filipebritodev Tamém copiei a parete que é implementada a autenticação na inicialização e não tive resultado positivo