Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

720
Views
AWS Amplify, ¿cómo comprobar si el usuario ha iniciado sesión?

He estado usando la biblioteca aws-amplify con ionic y me preguntaba cómo verificaría si un usuario inició sesión. Vengo de un fondo de base de fuego, por lo que esto es bastante diferente. Esto es para que pueda otorgar acceso a ciertas páginas según el estado de inicio de sesión del usuario. En mi proveedor de auth , importo Amplify {Auth} . Puedo ver que es posible obtener varios datos, pero no estoy seguro de qué usar. Hay currentUserPoolUser , getCurrentUser() , getSyncedUser() , currentAuthenticatedUser , currentSession , getCurrentUser() , userSession , currentUserCredentials , currentCredentials y currentUserInfo . Parece que tampoco puedo encontrar ninguna documentación sobre nada de esto. Todo lo que he leído y visto se oculta hasta que el usuario inicia sesión... ¿Se supone que todo esto debe hacerse en el cliente? Gracias.

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Estoy usando la función ionViewCanEnter() en cada página para permitir/denegar el acceso. El valor de retorno de esta función determina si la página se puede cargar o no (y se ejecuta antes de ejecutar el costructor). Dentro de esta función tienes que implementar tu lógica.

En mi caso, usando Amplify, estoy haciendo esto:

 async function ionViewCanEnter() { try { await Auth.currentAuthenticatedUser(); return true; } catch { return false; } }

Dado que amplificar currentAuthenticatedUser() devuelve una promesa, uso async await para esperar la respuesta para saber si el usuario ha iniciado sesión o no.

over 4 years ago · Santiago Trujillo Report

0

Oye, creo que por ahora solo puedes usar Auth.currentUserInfo(); para detectar si ha iniciado sesión o no. Volverá undefined si no ha iniciado sesión o un object si lo está.

over 4 years ago · Santiago Trujillo Report

0

si está utilizando angular con ionic, puede hacer algo como esto en su servicio de autenticación

 import {AmplifyService} from 'aws-amplify-angular'; . . constructor(private amplifyService:AmplifyService) { this.amplifyService.authStateChange$.subscribe(auth => { switch (auth.state) { case 'signedIn': this.signedIn=true; case 'signedOut': this.signedIn=false; break; default: this.signedIn=false; } } }

entonces puede usar this.signedIn en su enrutador con canActiavate guard.

protector de enrutador angular: https://angular.io/guide/router#preventing-unauthorized-access

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!