Per un esempio reale, sto lavorando a un’estensione di autenticazione per MediaWiki che integra DiscourseConnect. Sarà l’unico metodo di accesso per la mia istanza di MediaWiki.
So che ho due opzioni:
-
Implementare un SessionProvider che ottiene i dati dell’utente dalla callback di DiscourseConnect e li imposta direttamente nella sessione di MediaWiki.
-
Implementare un PrimaryAuthenticationProvider che, anch’esso, ottiene i dati dell’utente dalla callback di DiscourseConnect, ma crea un proprio utente nel sistema di MediaWiki.
Penso che l’opzione 1 assomigli molto a un’implementazione SSO, mentre l’opzione 2 sia simile a “Accedi con Google”.
L’unico svantaggio dell’opzione 1 che conosco è che sarà difficile uscirne: non riesco a immaginare come migrare e abilitare l’accesso locale senza salvare alcuna credenziale in MediaWiki. Forse potrei salvare le credenziali dell’utente da qualche altra parte.
Quale opzione dovrei scegliere?
Grazie