Sono abbastanza nuovo per OpenId e sto avendo un po 'di problemi a capire come usare OpenId una volta completata l'autenticazione.Le migliori pratiche per lo sviluppo del sito con openId - tabella utente?
Sto creando un nuovo sito e non ho avuto problemi a far funzionare l'autenticazione openId. Ma non sono sicuro di come dovrei memorizzare i dati relativi all'utente una volta che l'utente ha effettuato il login.
Prima di openId, avrei il mio processo di registrazione, un UserTable con un UserId unico (numero intero) e tutte le altre tabelle che coinvolgono i dati relativi ad alcune attività dell'utente avrebbero solo una colonna UserId che identifica l'utente.
Devo utilizzare l'ID OpenID nelle mie tabelle? Devo creare una semplice tabella OpenId-> UserId su cui ogni account di accesso è mappato e avere i dati memorizzati come prima? E cosa succede quando un utente vuole utilizzare diversi provider OpenId?
Quindi credo che quando un utente è autenticato, dovrei controllare la mia tabella utente e vedere se l'OpenID esiste, se non creare una nuova riga ... ma come si fa (in modo sicuro) permettere alle persone mappare più OpenId a un utente esistente? – Bjorn
Sì, in realtà, se l'utente viene fornito con un 'OpenID 'sconosciuto, sarebbe meglio chiedere se l'utente vuole creare un nuovo account o associarlo a quello esistente (in quest'ultimo caso l'utente deve autenticarsi con il altro OpenID). Per quanto riguarda il modo sicuro di gestire OpenID - è più o meno una cosa dell'interfaccia utente. Una delle soluzioni richiederebbe la conferma dopo il successo del roundtrip 'OpenID' (o asserzione di identità non richiesta). L'altro sarebbe utilizzare un nonce speciale o un cookie per il viaggio di andata e ritorno. Qualunque cosa tu possa inventare. –