Ciao a tutti!
Recentemente mi si è presentata la necessità di condividere la sessione php tra due siti che si trovano su due server diversi. Credo di aver risolto il problema, ma volevo spiegarvi la soluzione da me escogitata per avere opinioni e consigli su come eventualmente migliorarla. Sono anche ben accette soluzioni diverse, magari più sicure di quella da me adottata. :-)
Mi spiego meglio: entrambi i siti, chiamiamoli A e B, presuppongono l'autenticazione dell'utente per accedere ad una sezione riservata. La sezione riservata però si trova nel sito B per cui se l'utente si autentica dal sito B il problema non sussiste mentre se l'utente si autentica dal sito A allora deve essere rimandato al sito B e deve entrare direttamente nella sezione riservata senza chiedere alcuna ulteriore autenticazione.
In poche parole ho adottato questa soluzione: quando l'utente si logga dal sito A creo tutti i valori di sessione richiesti dal sito B per l'autenticazione, poi "serializzo" la sessione in una stringa e la registro in un file di testo. Il nome del file di testo è costituito da un prefisso segreto (una stringa costante) concatenato all'md5 di una stringa (questa stringa è rappresentata dall'id di sessione corrente concatenato al timestamp attuale). So che avrei potuto usare direttamente il file di sessione creato da Php ma volevo una cosa ancora più sicura. :-)
Registrato questo file redirigo l'utente ad uno script presente sul sito B che si occupa di leggere questo file, "de-serializzare" la stringa e ottenere la sessione; in tal modo l'utente risulta loggato correttamente. Naturalmente una volta utilizzato il file di testo viene poi rimosso.
Cosa ne pensate di questa soluzione? Avete qualche consiglio per migliorarla? Sono ben accette anche soluzioni alternative. :-)
Un grazie anticipato a tutti! :-)