Dynacase-openid est un module d'authentification Dynacase-platform. Il permet de se connecter à Dynacase-platform en utilisant un système OpenID.
[...] Error: process 'Check php function curl_exec' returned with error: Checking if the PHP function 'curl_exec' exists (R)etry, (c)continue or (a)bort ? [R/c/a]
Dans ce cas, voici la marche à suivre :
$ sudo aptitude install php5-curl
Dynacase-openid étant un module d'authentification de Dynacase-platform, il faut indiquer à Dynacase-platform que l'on veut l'utiliser. Pour cela il faut modifier le fichier `dbaccess.php' comme ceci:
$ vi context/default/dbaccess.php
[...]
$freedom_authtype = 'openid';
$freedom_authtypeparams = array('openid' => array('cookie' => 'freedom_auth',
'username' => 'auth_user',
'password' => 'auth_pass',
'htmlauthurl'=> 'guest.php?sole=A&app=AUTHENT&action=LOGINFORM',
'authurl' => 'guest.php?sole=A&app=OPENID&action=LOGIN_OPENID',
'providers' => array(),
),
);
Les paramètres associés à openid sont:
| Paramètre | Description |
|---|---|
cookie | Le nom du cookie servant a référencer le numéro de la session (utiliser `freedom_auth'). |
authurl | Url de la page d'accueil d'openid (utiliser `guest.php?sole=A&app=OPENID&action=LOGIN_OPENID'). |
providers | Liste des providers affichés dans l'aide à la saisie à la connexion. |
username | Sert à la connexion en admin (utiliser `auth_user'). |
password | Sert à la connexion en admin (utiliser `auth_pass'). |
htmlauthurl | Sert à la connexion en admin (utiliser `guest.php?sole=A&app=AUTHENT&action=LOGINFORM'). |
Les paramètres `username', `password' et `htmlauthurl' sont utilisés pour la connexion en “html” avec Dynacase-platform. Ces paramètres doivent être égaux aux paramètres `username', `password' et `authurl' de l'identificateur `html' de Dynacase-platform. Si vous ne connaissez pas les paramètres de l'identificateur `html' mettez juste les paramètres comme décrit ci-dessus.
Le paramètre `providers' contiendra toutes les données nécessaires pour créer l'aide à la saisie de connexion. Si vous désirez l'utiliser vous devez absolument remplir tous les attributs.
Sinon, laissez le paramètre `providers' vide.
Voici un exemple du fichier dbaccess.php avec deux déclarations de provider openid (myopenid et google)
$ vi context/default/dbaccess.php
[...]
$freedom_authtype = 'openid';
$freedom_authtypeparams = array('openid' => array('cookie' => 'freedom_auth',
'username' => 'auth_user',
'password' => 'auth_pass',
'htmlauthurl'=> 'guest.php?sole=A&app=AUTHENT&action=LOGINFORM',
'authurl' => 'guest.php?sole=A&app=OPENID&action=LOGIN_OPENID',
'providers' => array('myopenid' => 'longname:"myOpenID",
shortname: "myOpenID",
url_prefix: "http://",
url_suffix: ".myopenid.com/",
icon: "myopenid.ico",
website: "https://www.myopenid.com/",
openid1: true,
version: 1',
'google' => 'longname: "GoogleID",
shortname: "GoogleID",
url_prefix: "",
url_suffix: "",
icon: "",
website: "https://www.google.com/",
openid1: false,
version: 2',),
);
);
Les paramètres du provider openid sont:
| Paramètre | Description |
|---|---|
longname | Le nom complet du provider |
shortname | Le nom du provider qui sera afficher dans l'aide à la saisie |
url_prefix | Partie de l'url qui apparaitra avant le nom d'utilisateur (paramètre obligatoire si openid1 = true.) |
url_suffix | Partie de l'url qui apparaitra après le nom d'utilisateur (paramètre obligatoire si openid1 = true.) |
icon | Image associé au provider qui apparaitra sur le bouton et à coté du nom du provider (taille max = 16*16 px). |
website | Url du provider (paramètre obligatoire si openid1 = false) |
openid1 | Booléen. Si openid1 = true alors il faudra rentrer un nom d'utilisateur. |
version | 1 ou 2 : version d'openid utilisé par le provider (La version par défault est la 1) |
Vous trouverez ci-après une liste des openid provider. Les providers du premier encadré utilise la version 2 d'openid, ceux du second la version 1. Si il y a inscrit username dans la description c'est que l'attribut openid1 doit être à true. S'ils vous demandent de “cliquer sur le bouton se connecter avec …”, l'attribut openid1 devra être à false.
Pour les icônes, elles devront se situer dans le répertoire Images du module OPENID (normalement situé dans le répertoire OPENID à la racine de votre installation de Dynacase-platform).
Dynacase-openid permet la création d'utilisateur à la volée dans Dynacase-platform à partir de vos informations openid (si elles sont renseignées). Pour cela, il faut déclarer le provider dans le fichier dbaccess.php :
$ vi context/default/dbaccess.php
[...]
$freedom_authprovider = 'openid';
$freedom_providers = array('openid' => array('allowAutoFreedomUserCreation' => 'yes',
'dGroup' => 'GDEFAULT',
),
);
Les paramètres du freedom-provider openid:
| Paramètre | Description |
|---|---|
allowAutoFreedomUserCreation | Option permettant la création d'utilisateur à la volée. (utiliser `yes') |
dGroup | Groupe dans lequel l'utilisateur sera mis à la création (contactez votre administrateur pour plus d'information). |
Il peut arriver que votre nom d'utilisateur soit un peu étrange, et que les informations de votre compte sur votre nom et prénom ne soit pas rempli. Cela est du au fait que nous n'avons pas réussi à récupérer les données de votre compte openid. Plusieurs raison possible à cela: un bug dans la redirection, le provider openid qui ne gère pas l'envoi des données ou tout simplement, ces données n'étaient pas renseignées sur votre compte openid.
Pour corriger le nom et prénom, vous pouvez le faire vous même depuis votre compte Dynacase-platform. Pour avoir un login valide, il faut au moins que vous ayez renseigné l'adresse email de votre compte openid (pour les providers utilisant la version 2 de openid).
Pour vous connectez en admin, ou si vous rencontrez des difficultés à la connexion avec openid, vous pouvez toujours changer de mode de connexion en cliquant sur “admin connexion” de l'écran de login. Vous serez alors rediriger sur l'identificateur par défaut de Dynacase-platform(html) et pourrez vous connecter comme d'habitude.
Certains openid providers demandent des règles plus spécifique pour fonctionner correctement (google par exemple). Renseignez vous auprès des sites officiels de ces providers pour connaitre ces règles en question. Les informations à changer se trouveront dans le fichier openid.class.php
Si vous avez des questions sur openid, vous trouverez beaucoup d'information sur le site officiel ou le site d'openid france.
Comparaison de différent provider openid avec pas mal d'information sur eux
Liste de tous les providers openid officiellement recensé
Et pour finir wikipédia qui est rempli d'information sur openid.