Autenticación y Autorización de APIS en ASP WEB API en C# | .NET CORE 6 | JWT (JSON Web Tokens)

แชร์
ฝัง
  • เผยแพร่เมื่อ 3 ม.ค. 2025

ความคิดเห็น • 118

  • @diegojaraestivill5620
    @diegojaraestivill5620 4 หลายเดือนก่อน +1

    Eres de lo mejor de youtbe en programacion ,tienes un don para explicar de forma clara, para entender que quiere saber la gente, otro video que veo tuyo master

  • @aleexkirkmanr9287
    @aleexkirkmanr9287 5 หลายเดือนก่อน +2

    jajaja me gusto mucho tu video sigue así, no te imaginas el cambio que haces en el mundo. cosas cómo estas a veces no son fácil de entender. Gracias!!!

  • @lechugath
    @lechugath ปีที่แล้ว +3

    A pesar de la dislexia, muy buen tutorial, me encantó, la verdad me ayudaste mucho, muchas gracias

  • @RingoJet
    @RingoJet ปีที่แล้ว +6

    as long as the tutorial was with Spanish language but I still can understand your simple explanations
    well done man 😍
    Keep Going !

  • @luciusmalfoy0312
    @luciusmalfoy0312 ปีที่แล้ว +12

    Amigo buen material,por favor hacer uno en dónde se implemente el uso de roles y permisos , ejemplo rol administrador ,rol supervisor ,rol colaborador etc

  • @lbzsmith
    @lbzsmith ปีที่แล้ว

    "le mandas tu ki... para que sea mas poderoso" estas cosas son las que te llenan el alma

  • @SergioBulboa7
    @SergioBulboa7 ปีที่แล้ว +1

    Muchas gracias con esto pude entender lo del token y su Authorize

  •  9 หลายเดือนก่อน +1

    Muchas gracias. Es magnífico el tutorial, está clarísimamente explicado. Me ha ayudado mucho.

  • @samuelsaravia7621
    @samuelsaravia7621 ปีที่แล้ว

    Buenisimo!! Gracias por aportar tus conocimientos y de manera clara.

  • @fernandopoveda9861
    @fernandopoveda9861 2 ปีที่แล้ว +1

    Buen tutorial amigo, muchas gracias...aunque creo que quienes deseen seguirlo; deben documentarse un poco antes de verlo; para llevar un poco más claro el tema. Justamente andaba buscando como colocar el botón en Swagger. Como Herramienta, no uso postman; uso VSCode con la extensión Thunder Client (Recomendados).

    • @softwareliondev
      @softwareliondev  ปีที่แล้ว

      Muchas gracias por tus palabras y recomendaciones ;)

  • @elhells5664
    @elhells5664 ปีที่แล้ว

    Gracias por tu esfuerzo de subir el vídeo, me sirvió mucho.

  • @ivanpagnutti9871
    @ivanpagnutti9871 8 หลายเดือนก่อน

    Hola, Excelente el video. Podrías subir nuevamente el proyecto. Gracias.

  • @eduarsanchez1851
    @eduarsanchez1851 9 หลายเดือนก่อน

    Excelente contenido

  • @hdmian666
    @hdmian666 ปีที่แล้ว

    Mil gracias por tu aporte te felicito.

  • @mariofuentes5570
    @mariofuentes5570 ปีที่แล้ว

    Te amo, gracias por el aporte.

  • @pablomoralesmunoz118
    @pablomoralesmunoz118 2 ปีที่แล้ว +3

    Buen video hasta que usaste los roles, ahi conviene hacer uso de Policy, en vez de procesar el token. Muchas gracias!

    • @borisvargas3922
      @borisvargas3922 2 ปีที่แล้ว +1

      Pienso lo mismo, es mucho mas recomendable usar Policy para este tema de roles.

  • @christiancortes9777
    @christiancortes9777 5 หลายเดือนก่อน

    Hola, excelente vídeo, cual es el vídeo anterior?

  • @mariosifuentes6495
    @mariosifuentes6495 ปีที่แล้ว

    Excelente video. Me sirvió inclusive la última parte, en donde explicas cómo agregar el botón para insertar el Bearer.

  • @cristofer935
    @cristofer935 4 หลายเดือนก่อน

    eres un grande

  • @ACertainWebDeveloper
    @ACertainWebDeveloper ปีที่แล้ว

    Eres el mejor, gracias

  • @rbarriae
    @rbarriae ปีที่แล้ว +1

    Newtonsoft.Json fué una libreria exelente por mucho tiempo. Sin embargo hoy en dia es mejor usar System.Text.Json en el "using". Ha demostrado ser mejor (no mucho, pero mejor) y estar mejor integrada en C#.

  • @juanandrescreations
    @juanandrescreations ปีที่แล้ว

    Que video tan bien hecho. Me gustó mucho, te ganaste un nuevo sub.

  • @patrickguillen1194
    @patrickguillen1194 2 ปีที่แล้ว

    me ha gustado mucho este curso sinceramente muy bueno. (Y)

  • @pinonesoscar
    @pinonesoscar ปีที่แล้ว

    Excelente material, muchas gracias

    • @softwareliondev
      @softwareliondev  ปีที่แล้ว

      Gracias por aquellas palabras 😉👏

  • @jose-sebastian-garcia
    @jose-sebastian-garcia ปีที่แล้ว

    25:02 Te aporto con algo, si pones la entidad al lado del FromBody, lo que pases como Json se deserializa automáticamente en tu entidad sin necesidad de usar newtonsoft para ello.

  • @Bola10010
    @Bola10010 4 หลายเดือนก่อน

    Muchas gracias por el tutorial. Oye me podrías explicar más la diferencia de issuer y audience?
    Estaría bueno por el uso de roles con jwt
    Saludos

  • @agu160579
    @agu160579 ปีที่แล้ว

    Grande! 54:28 Soy bello jajaja que grande eres!

  • @liltota2000
    @liltota2000 3 หลายเดือนก่อน

    buen tuto, estoy haciendo algo parecido con multi tenant pero estoy un tanto perdido

  • @josuechacon6240
    @josuechacon6240 ปีที่แล้ว

    Muchas gracias por el buen contenido.
    Me funcionó bien. Excepto lo del final de usar [Authorized] en cada método. No entra ninguna petición al método aunque vaya un token válido.

    • @DanielArias-rm8sc
      @DanielArias-rm8sc ปีที่แล้ว

      Hola Josué a mi me sucede lo mismo, el claim siempre me dice que esta vacío, he probado enviarlo como el video por el header en un key y tambien he probado con el authorization de postman probando sitintos tipos de bearer pero no me funciona, tu pudiste solucionarlo?

    • @JeTFWork
      @JeTFWork ปีที่แล้ว

      estoy con el mismo detalle

  • @carlosnunez1130
    @carlosnunez1130 ปีที่แล้ว +4

    tengo un problemita siempre que quiero borrar me sale el msj de {
    "success": false,
    "message": "Verificar si estás enviando un token válido",
    "result": ""
    } eso que pruebo con otros usuario ya sea admin o no... y no puedo salir de ahí... ya probe de todo y tengo el Código exactamente igual a tuyo pero no puedo eliminar. lo Demas me funciona okey que puede ser... ya me tiene agotado tanto probar

    • @isaacperez5711
      @isaacperez5711 7 หลายเดือนก่อน

      Lo solucionaste? me pasa lo mismo...

    • @carlosajc4995
      @carlosajc4995 6 หลายเดือนก่อน

      @@isaacperez5711 deben reemplazar el codigo , por este, para que lea los Claims, pero les sugiero leer sobre policy para evitar cosas como los roles,
      JwtSecurityTokenHandler tokenHandler = new JwtSecurityTokenHandler();
      var token = HttpContext.Request.Headers["Authorization"].ToString().Replace("Bearer ", "");
      JwtSecurityToken parsedToken = tokenHandler.ReadJwtToken(token);
      var identity3 = parsedToken.Claims.ToList();
      var rToken=Jwt.validaToken(identity3);
      y en validaToken reciben una lista de claims,

    • @wiliam2000wil
      @wiliam2000wil 2 หลายเดือนก่อน

      no se si lo solucionaste pero a mi me pasaba lo mismo lo logre resolver en el controlador UsuarioController en este endpoint public dynamic IniciarSession([FromBody] object optData) cuando se generan los claims remplaze esta linea //new Claim(JwtRegisteredClaimNames.Iat, DateTime.UtcNow.ToString()),
      new Claim(JwtRegisteredClaimNames.Iat, ((DateTimeOffset)DateTime.UtcNow).ToUnixTimeSeconds

  • @alexyugsi7302
    @alexyugsi7302 9 หลายเดือนก่อน

    Hola buen video, podrías explicar como desplegar este proyecto en AWS

  • @asesorwebvideos
    @asesorwebvideos 11 หลายเดือนก่อน

    Muy bueno... Saludos de Chile... Tienes los fuentes en github?

  • @WaltTrappa
    @WaltTrappa ปีที่แล้ว +2

    Buen material, aunque me queda una duda: al hacer la prueba de eliminar, le estás mandando que elimine el cliente cuyo id es "string". No existe tal cliente, pero la API contesta con "Success". ¿no debería estar controlado que exista el cliente que quieres borrar en vez de dar por buena la llamada? Vale que lo que quieres mostrar es la autenticación, pero despista cantidad.

  • @vhspiceros
    @vhspiceros ปีที่แล้ว

    por que en en el método iniciarSession no usas un objeto tipaco en vez de un Object?

  • @fredfred3796
    @fredfred3796 29 วันที่ผ่านมา

    buena , seria bueno un token con una base de datos

  • @sinapsis2800
    @sinapsis2800 2 ปีที่แล้ว +1

    como se puede usar estas apis e incluir un front end dentro de este mismo proyecto?

  • @joshuatejada3782
    @joshuatejada3782 2 ปีที่แล้ว

    Grande bro!!!

  • @robinsonascenciopena7029
    @robinsonascenciopena7029 ปีที่แล้ว

    Excelente video! consulta, el link del proyecto que está publicado no es el mismo del video (falta código), podrías actualizar el link?

  • @guillermomazzari8320
    @guillermomazzari8320 ปีที่แล้ว

    Estimado, muchas gracias, yo vengo de MVC donde usamos las variables de sesion para enviar los datos del usuario al front, en este caso, como haria para que por ejemplo, en el front, se vea el al lado del boton de logout el nombre del usuario que ha iniciado sesion? no se si me explico

  • @raymundopena1706
    @raymundopena1706 7 หลายเดือนก่อน

    Disculpen la ignorancia, pero cuál sería la diferencia al implementar Net core 7 u 8?

  • @KuAmit0n
    @KuAmit0n 2 ปีที่แล้ว +1

    Buen video bro :)

  • @Joslee69
    @Joslee69 ปีที่แล้ว

    hola me puede ayudar. me lanza un error de este tipo al leer el resultado el token Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: ''object' does not contain a definition for 'success''

  • @oshoosho4604
    @oshoosho4604 ปีที่แล้ว +1

    q casualidad q siempre q veo un video de jwt, nunca veo q le implementen la funcionalidad de revocar un token, por ejemplo cuando se de click en cerrar sesión. sí ya sé q la idea es q el token expire pasado un tiempo, pero puede q mucha gente siga interesada en el clásico cerrar sesión, pero no con sesiones sino con token. y nadie habla o hace algo al respecto en youtube

  • @yooeduque4593
    @yooeduque4593 11 หลายเดือนก่อน

    Buen video, gracias. Pero no entiendo por que no me reconoce los tokens como válidos :(

  • @luiscvargas2011
    @luiscvargas2011 2 ปีที่แล้ว

    buen video bro, bien explicado. Sigue practicando tu ingles no te desanimes. #WellDone

  • @YoungHWN
    @YoungHWN 2 ปีที่แล้ว

    Super!!!

  • @javierpoma6318
    @javierpoma6318 ปีที่แล้ว

    Muy bueno, gracias, quisiera consultar, con que framwork desarrollaste tu API? Gracias, espero más videos.

    • @softwareliondev
      @softwareliondev  ปีที่แล้ว

      Actualmente trabajo con Nodejs (js) y Flask(python).

  • @darwinore2804
    @darwinore2804 ปีที่แล้ว

    Le pongo un tiempo en minutos para q expire, pero sigue saliendo true despues de pasado el tiempo ingresado, pregunta, hay q poner condicion?

  • @angelcasanchez7229
    @angelcasanchez7229 2 ปีที่แล้ว

    Muchas gracias

  • @JONFK
    @JONFK 2 ปีที่แล้ว +3

    Definitivamente tu ingles no es el mejor jaajajajajajaja pero muy buen contenido bro

  • @leslielopez1664
    @leslielopez1664 ปีที่แล้ว

    Graaaciass ❤❤

  • @ADCRONMANIACOS
    @ADCRONMANIACOS 2 ปีที่แล้ว

    Amigo una pregunta, como puedo renovar el token?

  • @maclaren33
    @maclaren33 ปีที่แล้ว

    por fa por fa podrias ayudarme , quiero que mi api como va a estar en un servidor no tenga la parte de Issuer y Audience luego eso va a ser como el tema de los cores muy molestoso, como se haria para dejar esto vacio?

  • @Taironchai
    @Taironchai ปีที่แล้ว

    hola, agradecido por el video :) siguiendo tu ejemplo anterior de "CREAR WEB API REST" tengo un problema, todo me funciona bien en entorno de desarrollo(incluso consumo sin problemas con el postman) pero cuando lo publico en mi dominio no me funciona, noté que si quito todo lo que sea implementacion de JWT que nos enseñas en este video, me funciona correctamente el API tanto en entorno de desarrollo como en mi dominio publicado, alguna idea en donde podria estar fallando?

  • @jhairdanielosoriogarzon9830
    @jhairdanielosoriogarzon9830 ปีที่แล้ว

    pordrias hacer una api para cargar imagenes, seleccionando el archivo imagen en potsman y convirtiendolo a url para guardarlo en la base de datos.

  • @leondaza2892
    @leondaza2892 2 ปีที่แล้ว +1

    estoy buscando un curso como este pero que apliquen angular 14 y sql

    • @yovanies2798
      @yovanies2798 2 ปีที่แล้ว

      Excelentes videos, veo todos tus tutoriales. Seria genial una conexión con angular y motor de base de datos. por cierto ya me suscribí a tu canal.

  • @anders_fast
    @anders_fast 2 ปีที่แล้ว

    Genial

  • @Le_Big_Dog
    @Le_Big_Dog ปีที่แล้ว +1

    Bro el link del proyecto esta desactualizada con lo que hiciste en el video :c

    • @pinonesoscar
      @pinonesoscar ปีที่แล้ว

      Cierto... le falto el UsuarioController... el artefacto mas importante del proyecto... que pillo este cristiano.... y no ha pagado la licencia de Windows

  • @ulisesmata2034
    @ulisesmata2034 2 ปีที่แล้ว

    Hola, una duda, estoy siguiendo tus videos, me parecen excelentes y te agradezco, pero tengo un tema justamente al enviar el token con Bearer, me trae valor 0 al intentar el método de eliminar/cliente. Que me esta haciendo falta?, para que no llegue el HttpContext.User.Identity as ClaimsIdentity en 0, te agradecería mucho si me ayudas con esa parte, igual lo estoy siguiendo con Postman

    • @softwareliondev
      @softwareliondev  2 ปีที่แล้ว

      Escríbeme por telegram

    • @sebassaller3070
      @sebassaller3070 2 ปีที่แล้ว

      Hola ami me pasa lo mismo ¿Que es lo que puede estar sucediendo? Me das alguna referencia del peoblema gracias

    • @jonnyalexandersuarezjimene3688
      @jonnyalexandersuarezjimene3688 ปีที่แล้ว

      Tengo el mismo probelma y no me sale el usuario para contactarte por telegram podrias ayudarnos por favor

    • @sandrojoelramossaravia
      @sandrojoelramossaravia ปีที่แล้ว

      Hola chicos, pudieron resolver este problema?, porque a mí me está pasando lo mismo.

    • @JonnySuarezjim
      @JonnySuarezjim ปีที่แล้ว

      @@sandrojoelramossaravia yo lo resolví descargando el proyecto completo y a partir de ahí todo me funcionó bn

  • @alxbotnet2824
    @alxbotnet2824 2 ปีที่แล้ว

    Excelente video bro, pero puedes hacer un vídeo de como proteger un código python con cython y luego convertirlo a ejecutable, muchas gracias de antemano, y sigue así compartiendo conocimiento

  • @Carlosgh059
    @Carlosgh059 ปีที่แล้ว

    pero te falta la parte de hasear contrasñea

  • @maclaren33
    @maclaren33 2 ปีที่แล้ว

    Por fa. Podrías hacer una api q reciba un maestro o detalle. Osea digamos a haces una venta y esta venta tiene detalle de items. Así q digamos a la venta tiene fecha, cliente y el detalle tiene el ID de la venta, ítem, cantidad. Como hacer esto en una sola llamada osea no me parecería óptimo primero llamar al api padre y luego al api detalle sino creo q debería recibir un json con todo algo así
    {
    Fecha:
    Cliente :
    Detalleventa:[
    {
    Ítem :
    Cantidad :5
    Precio:53
    } ,
    {}
    ]
    }

  • @fxrxaxnxk
    @fxrxaxnxk 2 ปีที่แล้ว

    Hola! gracias por el tutorial, podrías poner el Proyecto en un repositorio de github en vez de descargarlo de mediafire? muchas gracias :)

    • @softwareliondev
      @softwareliondev  ปีที่แล้ว

      Muchas gracias por la sugerencia, lo tendremos presentes para los próximos proyectos

  • @biancablanca5913
    @biancablanca5913 ปีที่แล้ว +6

    Para que el tutorial sea completo y sirva en el mundo real se debería usar autenticación mediante oauth 2.0. Esto no sirve para más que hacer algún trabajo de la universidad.

  • @bnn-3012
    @bnn-3012 2 ปีที่แล้ว

    Yo uso basic auth no jwt... Asi que no necesariamente es siempre jwt

  • @JozzEnrique
    @JozzEnrique 2 ปีที่แล้ว

    no me sirvio para nada

  • @LuisLemos-tw8bs
    @LuisLemos-tw8bs 9 หลายเดือนก่อน

    No seas pesado bernardo, no ves que estan haciendo el tutorial?

  • @javival6352
    @javival6352 2 ปีที่แล้ว

    Hola, felicidades por el video muy bueno y excelentemente bien explicado. Tengo una consulta. ¿por que usas json.Newtonsoft? no podriamos usar solamente las utilidades para json de microsoft sin necesidad de la libreria json.Newtonsoft?

    • @rbarriae
      @rbarriae ปีที่แล้ว

      Efectivamente Sí se puede hacer así. Yo usé por muchos años la libreria de Newtonsoft, muy buena, pero hoy en dia es mejor usar la System.Text.Json que va mucho mejor.

  • @LikeDePollo
    @LikeDePollo ปีที่แล้ว +1

    Me sale este error tanto en el Postman como en el Swagger:
    Bearer error="invalid_token",error_description="The audience 'localhost:8080/' is invalid"

    • @LikeDePollo
      @LikeDePollo ปีที่แล้ว

      el error fue usar versiones de paquetes nuggets actualizadas, las cambié por las que usa el youtuber y funciona normalmente, también en el postman deshabilitar la opción setting de SSL

    • @ivancaviedes3494
      @ivancaviedes3494 4 หลายเดือนก่อน +1

      @@LikeDePollo Te amo

  • @MalotoxH
    @MalotoxH ปีที่แล้ว

    muchas gracias