Тёмный

Angular Autenticación simple con Nodejs, Mongodb, Express y JWT (Parte 2/2) 

Fazt Code
Подписаться 262 тыс.
Просмотров 35 тыс.
50% 1

Este es la segunda parte del ejemplo practico del Stack MEAN (Mongodb, Express, Angular, Nodejs), en el que crearemos una aplicación simple con autenticación.
En esta parte crearemos el frontend de nuestro proyecto con Angular/cli, usando servicios, guards, y componentes de este framework.
CÓDIGO
github.com/Faz...
CURSO DE ANGULAR
• Angular 6 Curso Practi...
CURSO DE MONGODB
• MongoDB Curso, Introdu...
CURSO DE NODEJS
• Nodejs Curso Desde Cer...
CURSO DE EXPRESS
• Expressjs | Nodejs Fra...
VARIABLES DE ENTORNO NODEJS
• Variables de Entorno e...
CURSO DE JAVASCRIPT
• Curso Javascript para ...
CURSO DE GIT
• Git y Github | Curso P...
VISUAL STUDIO CODE
• Visual Studio Code, Ed...
VISITA MI SITIO WEB PARA MAS CURSOS Y CONTENIDO
www.faztweb.com
blog.faztweb.com
FAZT - RU-vid:
/ fazttech
TWITTER
/ fazttech
INSTAGRAM
/ fazttech
FACEBOOK
/ fazttech
DISCORD
/ discord
SLACK
join.slack.com...
#angular #nodejs #jwt

Опубликовано:

 

30 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 149   
@acoidanmesahernandez6986
@acoidanmesahernandez6986 2 года назад
Buenas, ya supe arreglar el error de Bearer null, lo que pasa es que el programa va asi: 1. Cuando se inicia sesión y se pulsa el botón de inicio de sesión, se ejecuta el método signIn del componente, este método llama al metodo signIn de AuthService, el cual hace una petición post a '/api/signin'. 2. Cuando se hace esta petición POST se ejecuta y se devuelve el token, pero antes de ejecutar el callback de la función signIn() del componente signIn, lo primero que pasa es que se ejecuta el Token Interceptor ya que se ejecuta en todas las peticiones (Lo cual le añade a dicha petición la cabecera 'Authorization', esta petición es de la que Fazt Code muestra la cabecera). Por lo que se añade la cabecera 'Authorization: Bearer null' debido a que justo en ese momento no hay nada guardado en Local Storage porque no se ha ejecutado el callback mencionado y por lo tanto no se ha ejecutado setItem() (A Fazt Web le sale un token en la cabecera porque nunca borró el token almacenado en el Local Storage en la petición anterior). 3. Después de ejecutarse el Token Interceptor, se ejecuta el callback del metodo signIn() del componente signIn, y en este momento es donde se cambia el Local Storage (Después de haberle añadido la cabecera Authorization a la petición POST de '/api/signin'), por lo que nos podemos mover por las páginas con el token correcto. CONCLUSIÓN: Realmente que salga Bearer Null es totalmente normal, no es que este mal, lo que pasa es que Fazt Code no debería haber mostrado la cabecera de la petición POST a '/api/sigin' porque en esa obviamente va a salir 'Authorization: Bearer null' si se ha borrado el token de la petición anterior o si es la primera vez que se inicia sesión por primera vez después de ejecutar ng serve. SOLUCIÓN: En verdad no hay nada que solucionar porque el código esta bien, pero para comprobar que nos estamos moviendo con un usuario correcto, podemos hacer en AuthService o en otro servicio una petición get a cualquier página y en el backend gestionar esta petición descifrando el token del localStorage y devolviendo un json con usuario con el que estamos autenticados, podremos observar que efectivamente estamos autenticados con el usuario correcto. Esto es algo como lo siguiente: Petición get en el AuthService: inicio() { return this.http.get(this.URL + 'api/inicio').subscribe( res => { console.log(res); }, err => console.log(err) ) } Petición get en el Backend: router.get('/inicio', verifyToken, async (req, res) => { let _id = req.userId; let usuario = await User.findOne({_id}) res.json({usuario}) }) También si nos da cosa que la cabecera se nos añada cuando no haya token almacenado en el Local Storage, podemos modificar la función intercept() del Token Interceptor de la siguiente manera (Simplemente se añade un if para, si esta el token almacenado en el Local Storage se añade la cabecera y si no, pues no se añade): intercept(req: HttpRequest, next: HttpHandler): Observable { const token = localStorage.getItem('token'); if (token) { const tokenizeReq = req.clone({ setHeaders: { Authorization: `Bearer ${this.authService.getToken()}` } }) return next.handle(tokenizeReq) } return next.handle(req) }
@joar2349
@joar2349 2 года назад
Se agradece crack por la información
@saulmedina4473
@saulmedina4473 4 года назад
Gracias por compartir Fazt, sigue así ! ;) En el minuto 37:45 , no me almacenaba el valor en el local Storage con la sintaxis que maneja Fazt , lo que me funciono fue sustituir: res.token -> res['token'] Por si alguien le sucede lo mismo.
@Biocrista
@Biocrista 4 года назад
justamente acababa de investigar el problema, la solucion que vi por alli lo almacenaba en una variable, osea que si let data= res['token']; localStorage.setItem('token', data); pero osea asi como dices es mas directo xD y es mejor que tener variables innecesarias
@NovatoWTF
@NovatoWTF 4 года назад
Fazt te ruegoque hagas el perfil, es que no puedo y no hay videos en youtube del tema
@brunotecay
@brunotecay 3 года назад
Pregunto lo mismo
@juanjosesalgadolondono698
@juanjosesalgadolondono698 2 года назад
Excelente video, lo unico que no sirve es que en mi el localstorage me retorna nulo cuando hago el interceptor, sabes a que se pueda deber?, alguienn que me ayude porfavor gracias 🙌🙌
@edgargm3708
@edgargm3708 4 года назад
Para los que les aparezca en la cabecer el Bearer null esto os pasa porque seguramente antes de hacer el login borrais el token... Él en el video no lo borra por eso le aparece el token junto al Bearer, pero es el token de la peticion anterior no de la que acaba de hacer el login. Esto de que salga null pasa porque intenta hacer el ' getItem() ' antes de que se haga el ' setItem() ' entonces por eso retorna null, porque aun no ha sido seteado. Respecto a como resolver esto no tengo ni idea de como hacerlo ya que es un problema de sincronización de estos dos metodos. Hay alguien que lo sepa arreglar porfavor ?
@felixjimenezgonzalez9292
@felixjimenezgonzalez9292 2 года назад
El getToken devuelve null, alguna idea de por qué?
@TheBrayeta
@TheBrayeta 3 года назад
!! ERROR!! "Can't resolve all parameters for SignupComponent in c:/Users/JM COMPUTER/Desktop/desarrollo/angular/Blog/fronend/src/app/component/signup/signup.component.ts: ([object Object], ?).ng" quien sabe como se soluciona pls 😥
@tonyperez4067
@tonyperez4067 3 года назад
lo solucionaste?
@3djdavid
@3djdavid 2 года назад
La parte 1 ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-rPD0eY3dRqQ.html
@Tormentt0
@Tormentt0 4 года назад
Authorization: bearer null -> error... SOLUCION depues de un dia :''( de revisar.... esto me funciono.... en el file app.modules.ts -> declarations [appCom.., SignIntC..,SignupC.. etc ] (debe de estar en ese orden, debe ejecutarse primero el signintcomponent... )
@josesupreme4
@josesupreme4 4 года назад
ya lo tenia en ese orden y aun sigue con ese error. Es como que si primero pasa el token-interceptor y despues es que lo guarda en localstorage.
@miguelitoemp
@miguelitoemp 4 года назад
Hola a todos de favor me podríasn ayudar con este problema quiero enviar un mensaje a un usuario suscrito cuando se acerca una fecha/hora (nodejs, angular.js 8 y firebase) Quiero poder enviar un mensaje a un usuario vía sms , dada una fecha y hora por ejemplo 24/01/2020 14:00:00 enviarle 24 horas antes un mensaje, estoy usando twilio para enviar vía sms, pero la cuestión es como programo el evento para hacer lo que quiero , un usuario registrar un evento , y a partir de ese evento quiero que todos los que estan subscritos a ese evento , reciban una notificacion cuando el evento se acerca 24hs antes. Alguien que hubiese hecho algo parecido , le agradecería su ayuda.
@marcoscarlomagno3065
@marcoscarlomagno3065 4 года назад
Excelente me sirvió muchísimo, me quedo una duda sobre la seguridad. Que pasa si alguien logra manipular el local storage creando un item llamado 'token'? Ganaría entrada rutas privadas instantáneamente, no es peligroso? Cómo alternativa no habría que validar el token contra el back en el guard?
@raulxiloj3355
@raulxiloj3355 4 года назад
Si se valida en el backend, no importa si alguien accede al local storage y pone un 'token', el token tiene que ser valido, jwt usa una 'secret_key' en el tutorial fazt lo puso publico por motivos de enseñanza pero es recomendable ponerlo en una variable de entorno con el fin de que no sea visible en el codigo.
@hernanvilar1960
@hernanvilar1960 2 года назад
@@raulxiloj3355 Claro, pero no es un poco inseguro usar local storage? seria mejor usarlo en cookies?
@raulxiloj3355
@raulxiloj3355 2 года назад
​@@hernanvilar1960​Desde mi experiencia no, eso si no hay que guardar informacion sensible en el token como la contrasena por ejemplo. Si bien puede ser el username y el id del usuario como lo recomienda la propia documentacion de jwt. De igual manera no seria visible ya que esta encriptado y para desencriptarlo necesitarian la 'secret key'.
@hernanvilar1960
@hernanvilar1960 2 года назад
@@raulxiloj3355 En realidad si lo guardas en el token desde la pagina de jwt podes ver los datos que están en el, por eso no guardaría pw, ahora si lo quieren modificar si necesitan la clave secreta pero claro, yo no guardaría pw en el token por que se ve si lo chequean
@revoldfmb
@revoldfmb 4 года назад
Fazt Developer Yotuber 2019 -> N° 1 Gracias por tus conocimientos impartidos en este 2019. Para el 2020 lo mejor para ti. Saludos
@snowking2908
@snowking2908 3 года назад
SOLUCION AL BEARER NULL: Clase: token-interceptor.service.ts import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http' import { Observable } from 'rxjs'; intercept(req: HttpRequest, next: HttpHandler): Observable { const token = this.authService.getToken() if (!token) return next.handle(req); const tokenizeReq = req.clone({ headers: req.headers.set('Authorization',`Bearer ${token}`) }); return next.handle(tokenizeReq); }
@davidcedeno878
@davidcedeno878 Год назад
Como decodificas el token que guardas en el localstorage ?
@TheBrayeta
@TheBrayeta 3 года назад
en ".subscribe()" me da error dise "la propiedad subscribe no existe en el tipo void" pido solucion pls😭
@marianaguanda8566
@marianaguanda8566 3 года назад
Gracias como siempre estimado Fazt, quería consultarte como se pordría manejar con Vue, saludos
@samuelbarreravera4881
@samuelbarreravera4881 3 года назад
Que gran explicación, solo tengo una petición, podrías darnos una recomendación u orientación de que arquitectura necesitaremos para el despliegue de los servidores? Es decir que servidores requerimos para desplegarlo en producción
@ppdbm7352
@ppdbm7352 4 года назад
Buen tutorial, como siempre. Pero se agradecería si tú o quien lo sepa, pueda decir dónde es mejor hacer el deploy, a bajo precio y con el mínimo de demora en consultas a la base de datos. Muchas gracias!
@jhoplainc6688
@jhoplainc6688 4 года назад
Fazt, primero que todo, gracias por compartir tus conocimientos. Segundo, si harás unos cursos de larga duración, deberías tener agua a mano, porque te comenzarás a desgastar la garganta, y queremos un Fazt eterno xD
@wilberluna2843
@wilberluna2843 4 года назад
mis respetos y gracias
@reynaldoguarachitola3736
@reynaldoguarachitola3736 4 года назад
Super, gracias por tus enseñanzas, podrias hacerla esta parte pero con REACT?
@estebanvega1011
@estebanvega1011 4 года назад
Voto por esta petición
@NovatoWTF
@NovatoWTF 4 года назад
Por mas que trato no logro Hacer el perfil del usuario 😔😔😔😔😔
@brunotecay
@brunotecay 3 года назад
Pregunto lo mismo
@NovatoWTF
@NovatoWTF 3 года назад
@@brunotecay Ya lo resolvi hace meses, es facil, solo hay que obtener el usuario desde el id del token o del mis id del modelo usuario. Es igual que obtener un solo producto por id.
@NovatoWTF
@NovatoWTF 3 года назад
@@brunotecay Pero me cambie a React por que no me queria salir con angular
@brunotecay
@brunotecay 3 года назад
@@NovatoWTF Tenes el repo para verlo en codigo??
@NovatoWTF
@NovatoWTF 3 года назад
@@brunotecay El mismo FAZT TIENE VIDEO DE JSONWEBTOKEN EN EL BACKEND Y AHINEXPLICA COMO HACER UN LOGIN Y OBTEBER LOS DATOS DEL USUARIO.
@danielvnzla6278
@danielvnzla6278 4 года назад
si Puedes hacer un ejemplo de jwt +MERN se te agradeceria bastante tambien
@angelchavez-bh1vt
@angelchavez-bh1vt 2 года назад
Excelente Fazt, me salvaste la vida
@JuanLuisOropeza-jloa
@JuanLuisOropeza-jloa 4 года назад
Que mal.. el interceptor me da null, crea el token despues y supongo que cuando concatena el Bearer con el token queda null =/ alguna idea de como solventarlo?
@kenethrrizzo8292
@kenethrrizzo8292 4 года назад
bro, tuviste solución? estoy con lo mismo
@TheBrayeta
@TheBrayeta 3 года назад
tanbien me falla eso
@maicolqj1
@maicolqj1 4 года назад
una duda, en el signup al momento de hacer el register en hace un registro exitoso pero consola se ve { _id: 5e259da83908bf19e4d5997f, email: '', password: '', } pero al momento de hacerlo en insomnia si muestra los datos completos { _id: 5e259da83908bf19e4d5997f, email: 'useremail@user.com', password: 'contraseña', } me pueden ayudar por favor, como hago para que desde la app guarde los datos correctamente
@eduardandrei6321
@eduardandrei6321 2 года назад
Alguno habeis conseguido arreglar el Barer null cuando haces el singin?
@frokrghpdg
@frokrghpdg Год назад
Tienes que tener un Token ya ingresado para que te aparezca
@Ventuxeo
@Ventuxeo 4 года назад
Para los que les da null el bearer esta es la "solucion", en si, siempre dara null, pero con este codigo evitamos que se cree ese header en caso no exista, al ser un interceptor, se llamara en cada request asi que en el proximo request, ya estara rellenado, bueno aqui les dejo el codigo intercept(req,next){ let token=this.authService.getToken() if(!token){ return next.handle(req); } const tokenizeReq=req.clone({ setHeaders: { Authorization:`Bearer ${token}` } }) return next.handle(tokenizeReq); } mas info de los interceptors aqui: medium.com/@asfo/usando-http-interceptors-en-angular-a665ebe6350b ya parece stackoverflow la seccion de comentarios jajajaja
@marcellvieira3713
@marcellvieira3713 4 года назад
oye pero no me lo muestra en el headers :/
@jesusmartinez-my1so
@jesusmartinez-my1so 3 года назад
Funciona pero quita el Header Authorization
@jesusmartinez-my1so
@jesusmartinez-my1so 3 года назад
A Mi me paso algo muy curioso jaja con lo del Bearer null, intente las formas que estaban lo comentarios, y volvi a la de @fazt y funciono jajaja y despues probe el navegador en modo privado y que creen, no funciono :(
@matiasmartinez3564
@matiasmartinez3564 3 года назад
Alguien me podria decir en que parte del codigo ya sea la carpeta del backend o el frontend , tendria que poner los archivos img? porque en ningun lado del codigo vi que tenga una carpeta public. Muchas Gracias.
@Myglobalsounds
@Myglobalsounds 4 года назад
Te amo
@guillevargas6944
@guillevargas6944 4 года назад
Buenas Fazt, Ahora mismo puedo registarme incluso sin poner nada, para ello tendría que hacer validaciones, pero no sé muy bien cómo es. Alguien podría ayudarme? Lo he intentado de mil formas pero nada, y me gustaría que siguiera unos parámetros para poder registrarse
@joar2349
@joar2349 2 года назад
Se agradece crack
@MaxHenriqueza
@MaxHenriqueza 4 года назад
Hola Fazt muy buen tutorial, pero tengo una duda... ¿Siempre se debe usar el subscribe en los componentes? por ejemplo, si en el services login utilizo async/await en la llamada http hacia la api y retorno un objeto, no es necesario que en mi componente me suscriba al método login del services? Entiendo que el subscribe es para que espere la respuesta de la api ya que es una llamada asíncrona y así poder manipular los datos o tiene mas funcionalidades el subscribe en angular. Sigue con el canal !!! Saludos!
@josegallego9093
@josegallego9093 4 года назад
¿Que te parece si unos de tus proyectos como por ejemplo este lo siguieras e hicieras una tienda simple virtual con un blog o Forum Integrado? Entonces si que serias un Crack, porque eso no lo ha hecho en Ýoutube hasta ahora nadie. De todas formas para mí tu eres un Crack
@ulisesvera3055
@ulisesvera3055 3 года назад
Y que se hace en el caso de que el token caduque ?????????
@CyberadictosOficial
@CyberadictosOficial 3 года назад
pues el usuario ya no puede ingresar a menos que se identifique de nuevo, generalmente esos tiempos de caducidad se ponen cuando tu aplicacion requiere demasiada seguridad
@bryanperez3668
@bryanperez3668 3 года назад
Cuál es el siguiente video donde se profundiza o se refuerza el login y registro con angular?
@juandavidmayorgavega8593
@juandavidmayorgavega8593 4 года назад
39:40 Sublime >:3
@patomariano
@patomariano 3 года назад
Muchas gracias! me fue muy útil para terminar de asentar unos conceptos que no me habían quedado muy en claro en el curso que estaba haciendo!
@MrNegracula
@MrNegracula 2 года назад
Gracias por tu trabajo hermano, he aprendido mucho gracias a ti, sigue con ello, animo y suerte.
@pringstom
@pringstom 4 года назад
fazt como obtengo el header de la peticion post de tu signin ?? ya que tu lo estas mandando como data el token pero lo ideal no seria como en uno de tus videos de jwt que mandaste en su cabecera.
4 года назад
Hola tuve que cambiar a public sobre authService, en el constructor de app.component. Ya que me salia problemas porque decia que Property 'authService' is private and only accessible within class 'AppComponent'. Solo así pudo funcionar. Alguien sabe porque si le funciono a Fazt con private?
@cchavezr75
@cchavezr75 4 года назад
Yo tuve el mismo error lo solucione agregando un método getauthService() en en app.component.ts y lo utilicé en la vista. No sé por qué le funcionó a Fazt.
@miguelmartincon
@miguelmartincon 4 года назад
A mi me ha pasado lo mismo y no consigo saber por qué a Fazt le funciona. Si posteriormente aprendiste por qué es, me sería de gran ayuda saberlo. Gracias!
@joseangelmontalvo3783
@joseangelmontalvo3783 4 года назад
Buenas, estoy con la misma incógnita, a mi me pasaba ese error y a Fazt no, he bajado su código y nada, esta igual que nosotros. Tiene que ver algo con la compilación AoT o algo así pero no tengo ni idea, seria bueno una respuesta para esclarecer la incógnita. Saludos y muchas gracias por los videos @Fazt
@pellax
@pellax 3 года назад
Como dicen, con un método sería suficiente, yo lo he hecho directamente y lo he puesto public. Tampoco entiendo como le funcionó a él, debe ser un tema de versiones.
@jespalza
@jespalza 4 года назад
Hola amigo gracias por tu tiempo.... pero tengo una duda en uno de tus videos donde tome todo como ejemplo, enviar el auth-token en el header.... en agular como capturo valor?
@josegallego9093
@josegallego9093 4 года назад
Como por ejemplo una tienda Virtual con un Forum o Blog. Solamente es una sugerencia y yo te encuentro como el mejor youtuber de Programación
@josegallego9093
@josegallego9093 4 года назад
podría decirme alguien porque no puedo usar? ng, me dice que le falta la signatura digital
@adimerpaul3388
@adimerpaul3388 4 года назад
Muchas gracias justo lo que necesitaba para comprender tokesn saludos desde bolivia
@morodev528
@morodev528 4 года назад
Alguien sabe porque no funcionan las rutas en un hosting?
@ElCapiPrice
@ElCapiPrice 4 года назад
Muchas gracias fazt!, me ayudo mucho para ir aprendiendo angular
@jesusmartinez-my1so
@jesusmartinez-my1so 3 года назад
Tengo este error: ERROR Error: Error trying to diff '[object Object]'. Only arrays and iterables are allowed
@TheBrayeta
@TheBrayeta 3 года назад
x2
@paputec
@paputec 3 года назад
Cual es el link del del video de Backend ?
@paputec
@paputec 3 года назад
ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-rPD0eY3dRqQ.html ya lo encontré , 73
@GarronArgentina
@GarronArgentina 4 года назад
Privéit no, práivet.
@VictorJuarezCabrera
@VictorJuarezCabrera 3 года назад
Excelente amigo, me han ayudado bastante tus tutoriales.
@alvaro_rvn
@alvaro_rvn 4 года назад
Hola Fazt, una consulta, a mi el localstorage me retorna nulo cuando hago el interceptor, sabes a que se pueda deber?
@kangaru_es
@kangaru_es 4 года назад
me pasa lo mismo
@rachidoulgour4973
@rachidoulgour4973 4 года назад
mirad el primer comentario igual os pasa lo mismo
@franco1846
@franco1846 4 года назад
lo que me funciono fue sustituir: res.token -> res['token']
@Biocrista
@Biocrista 4 года назад
@@franco1846 creo que se refiere al interceptor, regresa bearer null o false, arriba hay otro comentario con el mismo problema, yo tambien lo tengo por cierto
@franco1846
@franco1846 4 года назад
@@Biocrista A mi no me paso eso, lo termine ayer el vídeo. fíjate que en la descripción esta el código, copialo y pegalo y fíjate si te funciona, tal vez tenes algún error de ; o algo por el estilo.
@Fattpiu
@Fattpiu 3 года назад
que pasa si alguien abre el navegador y en el localStorage ingresa manual un token (inventado), el front lo deja pasar?
@felipedejesuscorrealondono9426
@felipedejesuscorrealondono9426 3 года назад
Tendria que estar usando un token valido. Ya que en el backend del video anterior se usa JWT para validar que un token sea correcto y sea generado por algun usuario. Creo que solo podria dejarlo pasar de manera irregular si la perona recbe su token, lo guarda y luego lo mete en el local storage
@Fattpiu
@Fattpiu 3 года назад
@@felipedejesuscorrealondono9426 el back no lo dejara pasar pero el front?
@Myglobalsounds
@Myglobalsounds 4 года назад
Puedes hacer un ejemplo de jwt +MERN? O jwt + electron? , PD gracias por todo tu exelente trabajo.
@NovatoWTF
@NovatoWTF 4 года назад
Todo bien todo corecto pero como obtengo los datos del usario logueado, el perfil? en el backend lo obtengo con postman pero con angular es diferente
@brunotecay
@brunotecay 3 года назад
Pregunto lo mismo
@luisfelipecardona8808
@luisfelipecardona8808 4 года назад
Fazt code o alguien me podria responder porque el modulo de cors(); no me esta funcionando ? tengo el error de las cabeceras pero el modulo de cors() no me quiere funcionar, alguien mepodria ayduar porfavor ?
@martinaybruno
@martinaybruno 3 года назад
Me pasa lo mismo, sigo con el problema del cors. Pudiste solucionarlo?
@ysabelardila
@ysabelardila 4 года назад
Hola!! Estoy teniendo problemas con el token-interceptor, al parecer está tomando el token antes de cambiarlo en el localStorage, por lo que si el localStorage estaba null, lo guarda en el RequestHeader null y si tenía otro token, guarda ese token anterior y luego el localStorage es que lo actualiza. Porfa auxilio!
@hershelgreene1915
@hershelgreene1915 Год назад
que hiciste?
@fersilent3884
@fersilent3884 4 года назад
Gracias Fazt excelente video
@mauriciorodriguezyepez3378
@mauriciorodriguezyepez3378 4 года назад
Hola muchas gracias por tus videos, me han servido muchisismo y explicas bastante bien. A la hora de hacer este practica lo estaba haciendo yo con la base de datos Mysql y a la hora de asignar el token me sale lo siguiente " Authorization: bearer null " No se por que suceda esto ya estuve intentando de todo
@jhonattanromero709
@jhonattanromero709 4 года назад
lograste arreglarlo ? estamos en las mismas o.0
@mauriciorodriguezyepez3378
@mauriciorodriguezyepez3378 4 года назад
@@jhonattanromero709 Nop sigo igual. Super que era puse post en Stack over flow pero nomas me dicen que es async await. checalos yo encontre donde esta el error. stackoverflow.com/questions/59481456/localstorage-getitemtoken-returns-null/59481658?noredirect=1#comment105184010_59481658 stackoverflow.com/questions/59493509/how-to-use-settimeout-in-the-method-intercept-the-http-interceptor?noredirect=1#comment105162106_59493509
@kangaru_es
@kangaru_es 4 года назад
@@mauriciorodriguezyepez3378 tampoco funcionan las respuestas que te han dado en stack overflow verdad? no tengo ni idea donde esta el error. pero obviamente la palabra Bearer está llegando a la autorizacion, asi que el fallo está dentro del `{ } `
@mauriciorodriguezyepez3378
@mauriciorodriguezyepez3378 4 года назад
@@kangaru_es Lo que pasa es que primero hace el getToken del LocalStorage pero aun no existe el token por eso manda el null. Despues ya crea el token, es cuestion de orden. Pero estaba checando como poner un setTimeout y no supe como hacerlo funcionar. Sigo atorado ahí.
@ysabelardila
@ysabelardila 4 года назад
@@mauriciorodriguezyepez3378 Hola!!! Lograste solucionarlo???
@andresgarciaalves
@andresgarciaalves 4 года назад
Hola, muy buen video! Una salvedad: luego del 1:00:00 entiendo que se estaría acoplando al servicio con código de la vista, y luego en el siguiente template a este con código del servicio. Excelente tu canal, gracias por compartir!! 👏🏻👏🏻👏🏻
@eduardandrei6321
@eduardandrei6321 2 года назад
Has conseguido arreglar el error del Barer null?
@josesupreme4
@josesupreme4 4 года назад
Excelente el video, solo tengo un problema. No esta tomando el valor del token la cabecera, es como que si primero para el token-interceptor y despues guarde el token en localstorage, haciendo que cuando pasa el token-interceptor no guarde la cabecera.
@STANGELAXS
@STANGELAXS 3 года назад
A mi me pasa igual como lo pudo arreglar?
@araxxdj
@araxxdj 3 года назад
Fazt Te amo
@jaredjesusyescapomares7005
@jaredjesusyescapomares7005 4 года назад
Gracias por el video fazt infinitamente sigue asi eres el mejor todo mi universidad uhispam nicaragua no adentramos a ver tu tutoriales ere grande bro ♥
@danielvaleriobroncano9677
@danielvaleriobroncano9677 4 года назад
Excelente video .!
@diegocamilopenaramirez6101
@diegocamilopenaramirez6101 4 года назад
Muchas gracias... tienes algo con React?
@erickjhormanromero6905
@erickjhormanromero6905 4 года назад
Amigo una pregunta cuál es la mejor opción para guardar el token?
@pitosauriorex3674
@pitosauriorex3674 4 года назад
yo siempre lo guardo en local storage porque si cierras la ventana por error puedes abrir de nuevo sin logearte de nuevo, la sesion storage no hace eso! depende para que necesites
@jonathancorrea3903
@jonathancorrea3903 4 года назад
Aprendo un montón con tus vídeos, gracias crack.
@gabrielrodriguez203
@gabrielrodriguez203 4 года назад
Aun espero la parte 3, me gusto mucho!!
@agustinlavalla4928
@agustinlavalla4928 4 года назад
Geniales tus videos de Angular!
@juandediosnunezcontreras9910
@juandediosnunezcontreras9910 4 года назад
Fazt ¿Donde es mejor Guardar el JWT del lado del cliente?
@jesusantonioquinterocardon4705
@jesusantonioquinterocardon4705 4 года назад
localStorage
@molina5857
@molina5857 4 года назад
El perfil del usuario como lo consumo en angular?
@brunotecay
@brunotecay 3 года назад
Pregunto lo mismo
@dexdexdex
@dexdexdex 4 года назад
grax x compartir, tengo un detalle que no logro solucionar, al poner mismo codigo de authService (1:05:00) me tira el siguiente error error TS2341: Property 'authService' is private and only accessible within class 'AppComponent al sacarle la propiedad private al component, tira otro error, se lo vuelvo a poner y carga correctamente, pero si cancelo el server y lo vuelvo a cargar con ng serve tira nuevamente el primer error, alguna sugerencia?
@kleiverperez5455
@kleiverperez5455 4 года назад
Conviértelo a public
@dexdexdex
@dexdexdex 4 года назад
@@kleiverperez5455 funcionó! gracias por el detalle
4 года назад
aplicaste la lolita ayala amiko :v
@cchavezr75
@cchavezr75 4 года назад
Muchas gracias Fazt!!
@grabieldelanieved.380
@grabieldelanieved.380 4 года назад
Super!!!
@manuelmorillo5955
@manuelmorillo5955 4 года назад
hola que tal , quería saber si alguien de casualidad sabe como almacenar los datos del usuarios en el LocalStorage ???
@luisfelipecardona8808
@luisfelipecardona8808 4 года назад
LocalStorage.setItem('myData', 'this is my data saved in the localStorage');
@luisfelipecardona8808
@luisfelipecardona8808 4 года назад
LocalStorage.getData('myData');
@manuelmorillo5955
@manuelmorillo5955 4 года назад
@@luisfelipecardona8808 gracias por el aporte amigo, saludos
@FelipeRushDeath
@FelipeRushDeath 4 года назад
@Anullos42
@Anullos42 4 года назад
Fazt por favor o alguien me puede explicar una duda que tengo referente al servidor y frontend? resulta que estamos aqui haciendo el frontend con angular hasta ahi perfecto, pero queria saber si las vistas(web) que hicimos en otros videos de este canal referente con .hbs puede trabajar independiente'? me explico: cuando suba la web tendrá un dominio con sus rutas, pero luego cuando suba el servidor tendrá otro dominio distinto para acceder a las rutas de hbs? lo que pretendia era crear una interface en el lado del servidor para añadir datos al servidor y a parte la web principal para clientes, eso es posible o lo estoy haciendo mal? y en el caso de estar haciendolo mal porque lo hicimos asi en este video del canal? ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE--bI0diefasA.html espero que alguien me coneste para aclarar las dudas, gracias
@frokrghpdg
@frokrghpdg Год назад
Oye bro no tendrá seguimiento este login para realizarlo más robusto
@frokrghpdg
@frokrghpdg Год назад
O me podrías dar un curso soy nuevo aprendiendo angular
Далее
Typescript & Nodejs, REST API JSON Web Tokens
1:21:00
Просмотров 46 тыс.
Airpod Through Glass Trick! 😱 #shorts
00:19
Просмотров 356 тыс.
Every React Concept Explained in 12 Minutes
11:53
Просмотров 670 тыс.
Learn Express JS In 35 Minutes
36:03
Просмотров 816 тыс.
Node.js is a serious thing now… (2023)
8:18
Просмотров 650 тыс.