User Tools

Site Tools


doc:appunti:net:openid

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
doc:appunti:net:openid [2009/12/20 23:32] niccolodoc:appunti:net:openid [2011/05/04 16:51] – [phpMyID] niccolo
Line 32: Line 32:
  
 ===== Allestire un provider OpenID personale ===== ===== Allestire un provider OpenID personale =====
 +
 +==== phpMyID ====
 +
 +FIXME
 +
 +**NOTA:** Dal sito di phpMyID: **phpMyID is no longer developed or maintained**. Inoltre phpMyID non è compatibie con ambienti PHP rinforzati, come Apache Suhosin installato da Debian Squeeze. Ecco il messaggio di errore:
 +
 +<code>
 +phpMyID is not compatible with 'suhosin'
 +</code>
 +
 +Per forzare il funzionamento anche in presenza di Suhosin dovrebbe bastare disabilitare tale funzione nel VirtualHost (si consiglia di farlo solo se il VirtualHost è dedicato esclusivamente a phpMyID):
 +
 +<file>
 +php_flag suhosin.simulation On
 +</file>
 +
 +quindi in **''MyID.config.php''** impostare nell'array **''%%$GLOBALS['profile']%%''** l'elemento **''%%'allow_suhosin' => true%%''**.
 +
 +FIXME
  
 Scarichiamo il software **[[http://siege.org/projects/phpMyID/|phpMyID]]** e scompattiamo i file **''MyID.config.php''** e **''MyID.php''** in una directory accessibile via web. Nel primo si impostano **''auth_username''** e **''auth_password''**. Per calcolare l'hash di ''auth_password'': Scarichiamo il software **[[http://siege.org/projects/phpMyID/|phpMyID]]** e scompattiamo i file **''MyID.config.php''** e **''MyID.php''** in una directory accessibile via web. Nel primo si impostano **''auth_username''** e **''auth_password''**. Per calcolare l'hash di ''auth_password'':
Line 57: Line 77:
 Nel file di configurazione si possono impostare altre informazioni personali, tipo nome e cognome, indirizzo email, una foto, ecc. Nel file di configurazione si possono impostare altre informazioni personali, tipo nome e cognome, indirizzo email, una foto, ecc.
  
 +==== php-openid ====
 +
 +Questa libreria PHP contiene sia il codice per un client che il codice per un server. Il server è in ''/usr/share/doc/php-openid/examples/server/'', bisogna copiarlo in una directory accessibile via web.
 +
 +La configurazione si esegue scompattando il file **''setup.php.gz''** e puntandoci il browser. C'è un problema con il PHP 5.3.3 e l'istruzione **''dl()''** che genera un errore fatale (tale funzione dovrebbe solo essere deprecata), purtroppo l'errore //Call to undefined function dl()// non viene segnalato nel log di PHP.
 +
 +Come workaround si può definire la funzione all'inizio del file **''setup.php''**:
 +
 +<code php>
 +function dl($str) {
 +    return false;
 +}
 +</code>
 +
 +Viene generato a video il file di configurazione che deve essere salvato come **''config.php''**:
 +
 +
 +<code php>
 +<?php
 +/**
 + * The URL for the server.
 + *
 + * This is the location of server.php. For example:
 + *
 + * $server_url = 'http://example.com/~user/server.php';
 + *
 + * This must be a full URL.
 + */
 +$server_url = "http://niccolo.rigacci.org/";
 +
 +/**
 + * Initialize an OpenID store
 + *
 + * @return object $store an instance of OpenID store (see the
 + * documentation for how to create one)
 + */
 +function getOpenIDStore()
 +{
 +    require_once "Auth/OpenID/FileStore.php";
 +    return new Auth_OpenID_FileStore("/tmp/openid");
 +}
 +
 +?>
 +</code>
 +
 +FIXME Come definire nome utente e password? Come usare semplicemente l'URL radice (''http://niccolo.rigacci.org/'') visto che non abbiamo altri utenti?
doc/appunti/net/openid.txt · Last modified: 2011/05/04 16:57 by niccolo