Subversion Repositories Applications.framework

Rev

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

Rev 260 Rev 263
Line 1... Line 1...
1
<?php 
1
<?php 
-
 
2
/**
-
 
3
 * La classe OpenIdClient est une implémentation d'un client OpenId, depuis une classe Zend.
-
 
4
 * Elle permet d'établir une connexion avec un serveur, en fonction d'un identifiant OpenId.
-
 
5
 * Elle permet de communiquer de manière sécurisée avec ce serveur, et doit aboutir a une 
-
 
6
 * identification centralisée.
-
 
7
 * */
-
 
8
 
2
class OpenIdClient {
9
class OpenIdClient {
Line 3... Line 10...
3
	
10
	
4
	//OpenID 2.0 namespace. Tous les messages OpenID 2.0 DOIVENT contenir la variable openid.ns et sa valeur
11
	//OpenID 2.0 namespace. Tous les messages OpenID 2.0 DOIVENT contenir la variable openid.ns et sa valeur
Line -... Line 12...
-
 
12
    const NS_2_0 = 'http://specs.openid.net/auth/2.0';
5
    const NS_2_0 = 'http://specs.openid.net/auth/2.0';
13
    
6
    
14
    
7
    
-
 
8
	/**
15
    // TODO : remplacer _storage par une gestion par cache ?
9
     * Reference to an implementation of storage object
16
	/**
10
     *
17
     * Variable permettant le stockage d'informations, notammenent à propos des clés DiffieHellmann
Line 11... Line 18...
11
     * @var Zend_OpenId_Consumer_Storage $_storage
18
     * @var Storage $_storage
12
     */
19
     */
13
    protected $_storage = null;
-
 
14
    
20
    protected $_storage = null;
15
    /**
21
    
16
     * Internal cache to prevent unnecessary access to storage
22
    /**
17
     *
-
 
18
     * @var array $_cache
23
     * Tableau "cache" interne permettant d'éviter des accès inutiles au fichier storage
19
     */
-
 
20
    protected $_cache = array();
24
     * @var array $_cache
21
    
-
 
22
    
-
 
23
    // TODO : les associations dans ZEND sont gérées avec le fichier Stockage, faire pareil
25
     */
Line 24... Line -...
24
    //Association
-
 
25
    private $association = Array('url' => '', 'handle' => '', 'macFunc' => '', 'secret' => '', 'expires' => 0);
26
    protected $_cache = array();
26
    
27
 
27
    private $client;
28
    // Client pour les requetes.
28
    
29
    private $client;
29
    
30
    
Line 40... Line 41...
40
	 * 
41
	 * 
41
	 * Return true ou false
42
	 * Return true ou false
42
	 * > Ne retourne rien si true car redirige vers l'adresse du serveur OID
43
	 * > Ne retourne rien si true car redirige vers l'adresse du serveur OID
43
	 * */
44
	 * */
44
	//FIXME : le paramètre immediate ?
45
	//FIXME : le paramètre immediate ?
45
	// ATTENTION : ca marche en false mais pas en true !!!
46
	// A vérifier mais ça doit permettre de passer directement le mot de passe. Il reste plus qu'à trouver le nom de la variable mot de passe.
Line 46... Line 47...
46
	
47
	
Line 47... Line 48...
47
	function login($id, $immediate = false)	{
48
	function login($id, $immediate = false)	{
48
		
49
		
-
 
50
		// L'original retourne la fonction checkId, avec le parametre immediate = true
-
 
51
		// Je ne comprends pas l'utilité, je fusionne les deux pour l'instant
Line 49... Line 52...
49
		// FIXME : l'original retourne la fonction checkId, avec le parametre immediate = true
52
		// FIXME : si pas de comportement étrange, valider.
50
		// Je ne comprends pas l'utilité, je fusionne les deux pour l'instant
53
		
51
		
54
		
52
		//Tests et arrêt si non validé : 
55
		//Tests et arrêt si non validé :