Subversion Repositories Applications.annuaire

Rev

Rev 579 | Rev 583 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 579 Rev 580
Line 3... Line 3...
3
require "AuthPartner.php";
3
require "AuthPartner.php";
Line 4... Line 4...
4
 
4
 
5
/**
5
/**
6
 * Permet de se connecter à l'annuaire de Tela Botanica à l'aide d'un compte Pl@ntNet / identify
6
 * Permet de se connecter à l'annuaire de Tela Botanica à l'aide d'un compte Pl@ntNet / identify
7
 */
7
 */
Line 8... Line 8...
8
class AuthPartnerPlantnet extends	 AuthPartner {
8
class AuthPartnerPlantnet extends	AuthPartner {
9
 
9
 
Line 10... Line 10...
10
	public function verifierAcces($login, $password) {
10
	public function verifierAcces($login, $password) {
11
		$url = "http://identify-test.plantnet-project.org/api/security/token/create?_username=$login&_password=$password";
11
		$url = "http://identify-test.plantnet-project.org/api/security/token/create?_username=$login&_password=$password";
12
 
12
 
-
 
13
		$curl = curl_init();
13
		$curl = curl_init();
14
		curl_setopt($curl, CURLOPT_URL, $url);
14
		curl_setopt($curl, CURLOPT_URL, $url);
15
		curl_setopt($curl, CURLOPT_POST, true);
15
		curl_setopt($curl, CURLOPT_POST, true);
16
		curl_setopt($curl, CURLOPT_POSTFIELDS, array()); // nécessaire dans les versions modernes de libcurl sinon on se prend un 400 !
Line -... Line 17...
-
 
17
		curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
16
		curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);  
18
		$res = curl_exec($curl);
17
		$res = curl_exec($curl);
19
		curl_close($curl);
18
		curl_close($curl);
20
 
-
 
21
		//var_dump($res);
19
 
22
		$res = json_decode($res, true);
20
		$res = json_decode($res, true);
23
		//var_dump($res);
21
		//var_dump($res);
24
		if (!empty($res['JWT'])) {
22
		if (!empty($res['JWT'])) {
25
			$this->jetonPartenaire = $res['JWT'];
23
			$jeton = $this->lib->decoderJetonManuellement($res['JWT']);
26
			$jetonDecode = $this->auth->decoderJetonManuellement($this->jetonPartenaire);
24
			// stockage pour traitement dans les autres méthodes
27
			// stockage pour traitement dans les autres méthodes
25
			$this->data = $jeton;
28
			$this->data = $jetonDecode['details'];
26
			//var_dump($jeton);
29
			//var_dump($jeton);
27
			if (!empty($jeton['details']['email'])) {
30
			if ( !empty($this->data['email'])) {
28
				//var_dump($jeton['details']['email']);
-
 
29
				return true;
31
				//var_dump($this->data['email']);
30
			}
32
				return true;
Line 31... Line 33...
31
		}
33
			}
32
 
-
 
33
		return false;
34
		}
34
	}
35
		return false;
Line 35... Line 36...
35
 
36
	}
36
	public function getIdentiteParCourriel() {
-
 
37
 
37
 
38
		echo "get identité par courriel<br/>";
38
	protected function getNomPartenaire() {
Line 39... Line 39...
39
	}
39
		return "plantnet";
-
 
40
	}
-
 
41
 
-
 
42
	protected function getCourriel() {
Line 40... Line 43...
40
 
43
		return $this->data['email'];
-
 
44
	}
-
 
45
 
-
 
46
	protected function getId() {
-
 
47
		// la clef primaire est le "username" dans Pl@ntNet, apparemment
-
 
48
		return $this->data['username'];
-
 
49
	}
41
	public function formaterNomWiki() {
50
 
-
 
51
	protected function getValeursProfilPartenaire() {
-
 
52
		return array(
-
 
53
			'nom' => $this->data['lastname'],
-
 
54
			'prenom' => $this->data['firstname'],
42
 
55
			'email' => $this->data['email'],