Bonjour tout le monde,
Je souhaiterai que vous m'indiquiez comment créer un moudle de "Mot de Passe Oublier"
et aussi comment utiliser ou faire appel a une API (GoogleFit) avec mkframework.
Merci d'avance de votre aide.
Bonjour tout le monde,
Je souhaiterai que vous m'indiquiez comment créer un moudle de "Mot de Passe Oublier"
et aussi comment utiliser ou faire appel a une API (GoogleFit) avec mkframework.
Merci d'avance de votre aide.
IL faut
- creer un module d'authentification
- ajouter un champ email à chaque utilisateur
- ajouter un champ "doitChangerMotDePasse"
- ajouter une page de modification de mot de passe
- ajouter une page mot de passe oublié
Dans la page de mot de passe oublié, ajouter un champ pour saisir l'email, à la soumission, faites une recherche en base pour retrouver l'utilisateur avec l'email
Si trouvé,
- generer un mot de passe aléatoire
- mettre à jour en base le mot de passe de l'utilisateur (hashé)
- mettre a jour le champ "doitChangerMotDePasse" à 1
- envoyer email avec ce mot de passe généré
Dans module d'authentification, si "doitChangerMotDePasse" est à 1, il faut rediriger sur page de modif de mot de passe
Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
Mes cours/tutoriaux
A d'accord merci beaucoup
Et pour l'API comment je dois faire, je souhaite prendre l'API GoogleFIT.
Pour l'API google fit, je vois qu'il y a une API accessible en REST, je vais voir pour ecrire un petit tuto pour acceder à ce genre d'api REST en utilisant oAuth
il viendra completer celui-ci
http://mkframework.com/faq.html#plugin_restClient
Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
Mes cours/tutoriaux
J'attend donc alors ton tutoriel car j'en ai besoin maintenant pour un site.
La mise en place de oAuth est assez complexe, idem pour faire un plugin pour se connecter à google fit
en cherchant ce soir j'ai vu que Google proposait une bibliothèque d'accès à ses services "google client"
Voici ce que j'ai fait poru integrer au projet mkframework
creation d'un repetoire lib
telechargement https://github.com/google/google-api-php-client
desarchivage dans le repetoire lib du projet
ensuite dans le repertoire google-api-php-client-master, via composer j'ai installer les dependancees (composer https://getcomposer.org/download/)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12├── conf ├── data ├── index.php ├── layout ├── lib │ └── google-api-php-client-master ├── model ├── module ├── myClasses ├── plugin └── public
Ensuite pour pouvoir appeler la librairie client Google, dans le ficheir public/index.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 cd lib/google-api-php-client-master composer install
on integre le fichier de chargement autoload du client Google
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 require_once __DIR__.'/../lib/google-api-php-client-master/vendor/autoload.php'; $oRoot=new _root();
J'ai ensuite suivi le tutoriel de google pour obtenir un fichier json pour oAuth2
ici: https://developers.google.com/fit/rest/v1/get-started
je l'ai copié dans le repertoire data/json/client_id.json'
Enfin le code ici pour lister les dossiers dans google drive
module/default/main.php
Code php : 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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65 <?php class module_default extends abstract_module{ public function before(){ session_start(); define('ROOTURL','http://localhost/mkframeworkPackage-1.0.7/Projects/testGoogleFit/public/'); $this->oLayout=new _layout('template1'); } public function _callback(){ $client = new Google_Client(); $client->setAuthConfig(_root::getConfigVar('path.data').'/json/client_id.json'); $client->setRedirectUri(ROOTURL._root::getLink('default::callback') ); $client->addScope(Google_Service_Books::BOOKS); if (! isset($_GET['code'])) { $auth_url = $client->createAuthUrl(); header('Location: ' . filter_var($auth_url, FILTER_SANITIZE_URL)); } else { $client->authenticate($_GET['code']); $_SESSION['access_token'] = $client->getAccessToken(); $redirect_uri = 'http://' . $_SERVER['HTTP_HOST'] . '/'; header('Location: ' . filter_var($redirect_uri, FILTER_SANITIZE_URL)); } } public function _index(){ $client = new Google_Client(); $client->setAuthConfig(_root::getConfigVar('path.data').'/json/client_id.json'); $client->addScope(Google_Service_Books::BOOKS); if (isset($_SESSION['access_token']) && $_SESSION['access_token']) { $client->setAccessToken($_SESSION['access_token']); $service = new Google_Service_Books($client); $optParams = array('filter' => 'free-ebooks'); $results = $service->volumes->listVolumes('Henry David Thoreau', $optParams); foreach ($results as $item) { echo $item['volumeInfo']['title'], "<br /> \n"; }exit; $drive = new Google_Service_Drive($client); $files = $drive->files->listFiles(array())->getItems(); echo json_encode($files); } else { $redirect_uri = ROOTURL._root::getLink('default::callback'); header('Location: ' . filter_var($redirect_uri, FILTER_SANITIZE_URL)); } exit; } public function after(){ $this->oLayout->show(); } }
Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
Mes cours/tutoriaux
J'ai cette erreur finalement : Fatal error: Uncaught Error: Class 'Google_Client' not found in C:\xampp\htdocs\mkframework1\Projects\CoachSportive\module\default\main.php:36 Stack trace: #0 C:\xampp\htdocs\lib\framework\class_root.php(264): module_default->_index() #1 C:\xampp\htdocs\mkframework1\Projects\CoachSportive\public\index.php(47): _root->run() #2 {main} thrown in C:\xampp\htdocs\mkframework1\Projects\CoachSportive\module\default\main.php on line 36
Voici mon code
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58 class module_default extends abstract_module{ public function before(){ if(!isset($_SESSION)) { session_start(); } define('ROOTURL','http://localhost/mkframework1/Projects/CoachSportive/public/'); $this->oLayout=new _layout('template1'); } public function _callback(){ $client = new Google_Client(); $client->setAuthConfig(_root::getConfigVar('path.data').'/json/client_id.json'); $client->setRedirectUri(ROOTURL._root::getLink('default::callback') ); $client->addScope(Google_Service_Drive::DRIVE_METADATA_READONLY); if (! isset($_GET['code'])) { $auth_url = $client->createAuthUrl(); header('Location: ' . filter_var($auth_url, FILTER_SANITIZE_URL)); } else { $client->authenticate($_GET['code']); $_SESSION['access_token'] = $client->getAccessToken(); $redirect_uri = 'http://' . $_SERVER['HTTP_HOST'] . '/'; header('Location: ' . filter_var($redirect_uri, FILTER_SANITIZE_URL)); } } public function _index(){ $client = new Google_Client(); //$client->setApplicationName("test"); //$client->setDeveloperKey("AIzaSyAznidmlPyqobLwWpqSf2XaxIJEtI7lP4w"); $client->setAuthConfig(_root::getConfigVar('path.data').'/json/client_id.json'); $client->addScope(Google_Service_Drive::DRIVE_METADATA_READONLY); if (isset($_SESSION['access_token']) && $_SESSION['access_token']) { $client->setAccessToken($_SESSION['access_token']); $drive = new Google_Service_Drive($client); $files = $drive->files->listFiles(array())->getItems(); echo json_encode($files); } else { $redirect_uri = ROOTURL._root::getLink('default::callback'); header('Location: ' . filter_var($redirect_uri, FILTER_SANITIZE_URL)); } exit; } public function after(){ $this->oLayout->show(); } }
c'est noté, je vais essayer d'en ecrire un cette semaine
Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
Mes cours/tutoriaux
Et voila le tuto : http://mkframework.com/tutoriaux.html#mdpoublie
Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
Mes cours/tutoriaux
Bonjour Imikado
Etant absent depuis la semaine passé c'est ce matin que j'ai vu le tutoriel
Merci beaucoup
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager