PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2024 → sauvegarder les identifiants déjà connectés
sauvegarder les identifiants déjà connectés
Débuté par Aiden Svosve, 09 avr. 2021 20:10 - 12 réponses
Membre enregistré
59 messages
Posté le 09 avril 2021 - 20:10
Bonsoir à tous
Je travail sur un projet WM, mon souci, j'aimerais quand l'utilisateur se connecte avec son (Login/pwd) aprés avoir fermé l'appli ou même redémarre le téléphone, lui permettre de demarré directement l'application sur son profil.
j'ai fais des recherches dessus j'ai vu qu'il faut utiliser la fonction SauveParametre j'essaie mais je n'y arrive pas
j'ai utilisé ce code et ça tourne pas:
*Initialisation du projet
gsLogin est chaîne
gsMDP est chaîne
gsLogin = ChargeParamètre("LOGIN","")
gsMDP = ChargeParamètre("MDP","")
*Fermeture du projet :
SauveParamètre("LOGIN",gsLogin)
SauveParamètre("MDP",gsMDP)
*Bouton Connexion (initialisation):
SAI_login =gsLogin
SAI_Mdp =gsMDP
Si login = OK
gsLogin =SAI_login
gsMDP =SAI_Mdp
Une fois que les identifants sont enregistrés comment permettre à l'utilisateur de se demarrer toujours sur son profil et pour toujours comme le fait les applis(whatsapp ou facebook)... Vraiment j'entrain de m'arracher les cheveux depuis des semaines j'y ariive pas.
quelqu'un peut m'aider SVP !
Membre enregistré
140 messages
Popularité : +6 (6 votes)
Posté le 10 avril 2021 - 12:05
Au moment du lancement de l'application il faut vérifier si les identifiants existe dans le fichier ini avec chargeparametre. Si dans le fichier ini il y a les identifiants et mdp alors tu passe ton paramètre login à OK sinon tu demande le MDP. Au moment ou l'utilisateur force la déconnexion avec un bouton alors tu effaces les identifiants et mdp du fichier ini. Je conseille de mettre une expiration du fichier ini.
Membre enregistré
59 messages
Posté le 10 avril 2021 - 18:03
@Merci de ta réponse @fr, j'ai bien testé cette idée avec ce code dans Initialisation du projet :
SI gsLogin<>"" ET gsMDP <> "" ALORS
OuvreFenêtreMobile(FEN_Acceuil)
SINON
OuvreFenêtreMobile(FEN_Connexion)
FIN
J'y arrive toujours pas. Si tu peux m'aidez Stp avec un code de ce genre pour avoir une idée, c'est ma premiére dans WM, merci de ta collaboration.
Membre enregistré
81 messages
Popularité : +7 (7 votes)
Posté le 11 avril 2021 - 00:53
C'est peut être lié à ton smartphone (peut-être il supprime le cache de ton appli après chaque fermeture) ? Essaye sur un smartphone pour écarter ce doute.

Il y a quelques semaine j'ai utilisé SauveParamètre après chaque connexion (fenêtre Login) puis j'ai changé la logique via un fichier HFSQL.

Je viens de tester pour toi, c'est-à-dire j'enregistre le login et le mot de passe (avec SauveParamètre) lors de la fermeture du projet et lors de l'initialisation du projet je récupère les deux valeurs (avec ChargeParamètre) et ça fonctionne parfaitement.

Ton code de fermeture de projet s'exécute correctement ? Sinon Essaye info("...") juste avant SauveParamètre dans le code de fermeture du projet :)
Membre enregistré
59 messages
Posté le 11 avril 2021 - 09:04
@Mouhi merci de ta réponse, Oui effectivement ce code fonctionne (pour enregistrement), mon probléme s'accentue sur le fait que quand l'utilisateur se connecte avec son (Login/pwd) et aprés avoir fermé l'appli ou même redémarre le téléphone, lui permettre de demarré directement l'application sur son profil, c'est à dire aprés une connexion, d'oulier completement la fenetre Login sauf deconnexion volontaire de l'utilisateur oui desinstallation de l'appli...

Mon véritable probléme depuis des semaines j'y arrive pas. @fr a donné le déroulement juste que j'ai pas d'idée de code...
Membre enregistré
140 messages
Popularité : +6 (6 votes)
Posté le 11 avril 2021 - 18:10
Déclaration globale de la page connexion

InitParamètre(paramIni, "cookie_auth.ini")
gsCookie est une chaîne = ChargeParamètre("enregistrement_auth")

SI gsCookie = "oui" ALORS
OuvreFenêtreMobile(FEN_Sélection_compte)
FIN



Bouton se connecter de la page connexion

//Si l'utilistateur coche la case "se souvenir de moi"

SI INT_InterrupteurBasculeMiniExterneD = 1 ALORS

InitParamètre(paramIni, "cookie_auth.ini")
SauveParamètre("enregistrement_auth", "oui")

SINON

InitParamètre(paramIni, "cookie_auth.ini")
SauveParamètre("enregistrement_auth", "non")

FIN
OuvreFenêtreMobile(FEN_Sélection_compte)

Enlever le bouton retour de l'actionbar de la fenetre FEN_Sélection_compte

Bouton déconnexion accesible depuis toutes les pages sauf la page connexion :

InitParamètre(paramIni, "cookie_auth.ini")
SauveParamètre("enregistrement_auth", "non")
Membre enregistré
140 messages
Popularité : +6 (6 votes)
Posté le 11 avril 2021 - 18:12
Ceci est un exemple simple sans stockage des identifiants, à toi de rajouter comment tu veux stocker tes identifiants.

La condition SI INT_InterrupteurBasculeMiniExterneD = 1 ALORS.... est a éxécuter une fois que tu as vérifié si l'identifiant et MDP de l'utilisateur est bon.
Membre enregistré
59 messages
Posté le 11 avril 2021 - 21:50
@fr je te remercie enormément du temps que tu m'as consacré, oui effectivement ça fonctionne et il l'enregistre dans le fichier ini, la seule chose que je n'arrive pas à finaliser c'est la partie stockage de l'identifiant. j'ai effectué plusieurs tentatives de code et il le stocke pas. Je me pose des questions à savoir ou se trouve le blocage dans ce code ?

déclaration globale Conexion
gsLogin=InitParamètre(paramIni, "cookie_auth.ini")
gsMDP=InitParamètre(paramIni, "cookie_auth.ini")
gsLogin= ChargeParamètre("enregistrement_auth")
gsMDP = ChargeParamètre("enregistrement_auth")

SI gsLogin = "oui" ET gsMDP ="oui" ALORS
OuvreFenêtreMobile(FEN_Acceuil)

Bouton se connecter:
gsLogin=InitParamètre(paramIni, "cookie_auth.ini")
gsMDP=InitParamètre(paramIni, "cookie_auth.ini")
SauveParamètre("enregistrement_auth", "oui")

A noté que gsMDP et gsLogin sont déclarés dans l'initialisation du projet
Membre enregistré
140 messages
Popularité : +6 (6 votes)
Posté le 11 avril 2021 - 22:27
déclaration globale Conexion

InitParamètre(paramIni, "cookie_auth.ini")
gsLogin = ChargeParamètre("login")
gsMDP = ChargeParamètre("mdp")

SI gsLogin = "oui" ET gsMDP ="oui" ALORS
OuvreFenêtreMobile(FEN_Acceuil)
FIN

Bouton se connecter:

InitParamètre(paramIni, "cookie_auth.ini")
SauveParamètre("login", "ICI LE LOGIN QUE TU VEUX STOCKER")
SauveParamètre("mdp", "ICI LE MDP QUE TU VEUX STOCKER")

Pense à crypter ton MDP et identifiant, ne jamais les enregistrer le claire et visible dans un fichier. Je te conseil le hashage MD5 ouautre type pour le MDP.
Membre enregistré
140 messages
Popularité : +6 (6 votes)
Posté le 11 avril 2021 - 22:29
J'ai mis LOGIN ou MDP a stocker mais ca peut etre simplement "oui" pour vérifier si enregistrement
Membre enregistré
59 messages
Posté le 11 avril 2021 - 23:59
@f un grand merci, tu m'as vraiment enlevé les épines du pieds, j'y suis arrivé grâce à vous enorme merci. Oui c'est qui rejoint à ma deuxiéme question à savoir le cryptage et le décryptage des mots de passe, j'ai appliqué un cryptage standard avec cette fonction
SAI_MotdePasse = Crypte(Login.MotdePasse,"clef",crypteSécurisé,encodeBASE64). Est ce que cryptage est sécuritaire ????

Merci @f de ton aide :merci:
Membre enregistré
140 messages
Popularité : +6 (6 votes)
Posté le 12 avril 2021 - 01:25
crypte n'est plus a utiliser regarde ici : https://doc.pcsoft.fr/?1000021293&name=cryptestandard_fonction
Membre enregistré
59 messages
Posté le 12 avril 2021 - 08:20
@fr super et vraiment merci pour tout :) , je vais me pencher la dessus (cryptestandard et decryptestandard). Tu m'as vraiment aidé, thank you again :merci: . Probléme résolu