Closed calicant closed 3 years ago
usa il match di djangosaml2 __iexact per il ricongiungimento degli account e condividi la configurazione. lo fixiamo subito
Ciao @calicant, in questo commit https://github.com/italia/spid-django/commit/70b0108502c3021b45f40a863eb8ac16d5ee777c
ho aggiunto un modello custom di utenti per la gestione in django dei fileds spid. Per l'occasione ho esemplificato un ricongiungimento basato su codice fiscale.
Spero di aver incontrato il tuo caso d'uso, a presto e grazie per l'hint
usa il match di djangosaml2 __iexact per il ricongiungimento degli account e condividi la configurazione. lo fixiamo subito
grazie. ho provato ora:
SAML_DJANGO_USER_MAIN_ATTRIBUTE = 'email' SAML_DJANGO_USER_MAIN_ATTRIBUTE_LOOKUP = '__iexact'
ma lasciando lo username vuoto si ha un IntegrityError su login di un differente utente spid
ti sconsiglio di lasciare username vuoto! vedi l'esempio con fiscalNumber e posta qui l'esito ed eventuali tuoi dubbi
Ciao @calicant, in questo commit 70b0108
ho aggiunto un modello custom di utenti per la gestione in django dei fileds spid. Per l'occasione ho esemplificato un ricongiungimento basato su codice fiscale.
Spero di aver incontrato il tuo caso d'uso, a presto e grazie per l'hint
grazie @peppelinux questa configurazione, anche senza scomodare il modello custom, fa proprio al caso:
SAML_USE_NAME_ID_AS_USERNAME = False SAML_DJANGO_USER_MAIN_ATTRIBUTE = 'username' SAML_CREATE_UNKNOWN_USER = True SAML_DJANGO_USER_MAIN_ATTRIBUTE_LOOKUP = '__iexact'
SAML_ATTRIBUTE_MAPPING = { 'fiscalNumber': ('username', ), }
esatto! ho aggiunto custom proprio per dare un esempio di come gestire anche il codice fiscale. Chiudiamo questa issue in bellezza
@calicant perchè non proponi un bel PR sul README? sarebbe veramente utile!
fatto qui https://github.com/italia/spid-django/commit/356d151eb65b6d4ce67a1a8e01b437baedc26849
grazie infinite
@peppelinux ho visto che sono creati nuovi utenti django quando lo stesso utente si autentica più volte via spid. Potrebbe essere utile che il backend di autenticazione tenga conto che si tratta dello stesso user, magari usando lo spidCode?