Bonjour Chers tous,
Merci à tous ceux qui voudront bien prendre de leur temps, pour m'aider a la résolution de ce problème.
En effet j'ai crée une application mobile avec ionic/angular. Et le souci se trouve au niveau l'authentification.
Je souhaiterai garder en mémoire, les paramètres de connexion de l'utilisateur lors de sa première connexion pour ne plus qu'il ait à se connecter encore les prochaines fois a moins qu'il ait envie de renseigner d'autre paramètre la prochaine fois.
Le principe:
homepage.html (la page d'accueil lors du lancement de l'application) voir image ci-dessous.
l'utilisateur, clique sur le bouton " MON SOLDE"
il est dirigé vers la page de connexion:
loginpage.html(la page d'authentification) voir image ci dessous
et une fois les paramètres validés, elle sont stockés dans le native Storage, pour pouvoir naviguer entre les pages.
script:
loginpage.ts
autService.ts:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 loginUser() { if (this.form.value) { this.authService.login(this.form.value); } else{ console.log('Please enter badge/telephone or password.'); } }
LocalService.ts:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 login(user) { //console.log(user); let urlToGet = "http://www.tchek.com/test/?action=GTD&badge=" + user.badge; this.http.get<any[]>(urlToGet) .subscribe( async (res: any[]) => { this.badge = res this.dataBadge = this.badge.PAYLOAD.SUBSCRIPTIONS.TAGS.TAG_ID; this.dataTel = this.badge.PAYLOAD.PHONE_1; if(this.dataBadge == user.badge && this.dataTel == user.telephone) { this.LocalServ.loadingPresent(); this.response = res; this.LocalServ.storeUserInformations(this.response); this.router.navigate(["/profile"]); this.authState.next(true); } else { console.log('incorrect password.'); this.toastService.presentToast('Badge et/ou Telephone incorrect.'); } }, (error: any) => { console.log('Network Issue.'); this.toastService.presentToast('Verifiez votre connexion.'); } ); }
Alors ma préoccupation c'est comment éviter l'utilisateur de toujours renseigner ces paramètres d'authentification pour consulter son solde.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 async storeUserInformations(user){ this.storage.setItem("USER_INFO", user) .then((response) => {this.loadingDismiss()}, catchError(this.handleError) ); }
L'idée serait lors de sa toute première connexion, que le téléphone garde ces info en mémoires et afin de lui permettre de directement accéder a la page (profilpage.html) sans être obligé entrer ces paramètres.
Partager