Subversion Repositories Applications.framework

Compare Revisions

Ignore whitespace Rev 262 → Rev 263

/trunk/framework/OpenIdClient.php
1,4 → 1,11
<?php
/**
* La classe OpenIdClient est une implémentation d'un client OpenId, depuis une classe Zend.
* Elle permet d'établir une connexion avec un serveur, en fonction d'un identifiant OpenId.
* Elle permet de communiquer de manière sécurisée avec ce serveur, et doit aboutir a une
* identification centralisée.
* */
 
class OpenIdClient {
//OpenID 2.0 namespace. Tous les messages OpenID 2.0 DOIVENT contenir la variable openid.ns et sa valeur
5,28 → 12,22
const NS_2_0 = 'http://specs.openid.net/auth/2.0';
// TODO : remplacer _storage par une gestion par cache ?
/**
* Reference to an implementation of storage object
*
* @var Zend_OpenId_Consumer_Storage $_storage
* Variable permettant le stockage d'informations, notammenent à propos des clés DiffieHellmann
* @var Storage $_storage
*/
protected $_storage = null;
/**
* Internal cache to prevent unnecessary access to storage
*
* Tableau "cache" interne permettant d'éviter des accès inutiles au fichier storage
* @var array $_cache
*/
protected $_cache = array();
// TODO : les associations dans ZEND sont gérées avec le fichier Stockage, faire pareil
//Association
private $association = Array('url' => '', 'handle' => '', 'macFunc' => '', 'secret' => '', 'expires' => 0);
 
// Client pour les requetes.
private $client;
/**
* Constructeur de l'application
* */
42,13 → 43,15
* > Ne retourne rien si true car redirige vers l'adresse du serveur OID
* */
//FIXME : le paramètre immediate ?
// ATTENTION : ca marche en false mais pas en true !!!
// 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.
function login($id, $immediate = false) {
// FIXME : l'original retourne la fonction checkId, avec le parametre immediate = true
// L'original retourne la fonction checkId, avec le parametre immediate = true
// Je ne comprends pas l'utilité, je fusionne les deux pour l'instant
// FIXME : si pas de comportement étrange, valider.
//Tests et arrêt si non validé :
//Normaliser (traite si XRI ou URL, normalize URL)
//FIXME : voir avec JP pour équivalent dans framework