[Python] Domandilla al volo

Christian Barra barrachri a gmail.com
Gio 7 Gen 2016 13:04:30 CET


> On 07 Jan 2016, at 11:56, Carlos Catucci <carlos.catucci a gmail.com> wrote:
> 
> Devo fare una auth da social con Django. 
> Lo so sarebbe facile, prendo un qualcosa tipo One4all e sono a posto. 
> Ovviamente no, non e' cosi' semplice. In pratica una app esterna mi manda 3 dati, uid dello user, token dello user e provider (per ora solo faceass, ma in seguito anche altri). 
> Io controllo se il token e' presente in UserSocialAuth e se si devo autenticare. 

In pratica all’interno del tuo modello user hai gia un token e l’app esterna ti comunica oltre ad altri dati anche lo stesso token.
Quindi dovresti avere una corrispondenza univoca user = token (nel caso di utente esistente).
Giusto ?

> uelloc he faccio e' appunto e' una cosa poco pulita (a mio avviso) ma e' la sola che trovato che non richieda un Auth con user e password (*).
> 
> username.backend = 'django.contrib.auth.backends.ModelBackend' 
> 
> Di qui posso eseguire una login(request, user). La domanda e': login mi torna qualcosa? Come faccio a sapere se la login e' andata a buon fine o meno? Cerco in session? Se si cosa potrei cercare?
> 

Che ne pensi invece di questa soluzione ? http://stackoverflow.com/questions/6560182/django-authentication-without-a-password <http://stackoverflow.com/questions/6560182/django-authentication-without-a-password>

Per quanto riguarda login, da quel che vedo non ritorna niente https://docs.djangoproject.com/en/1.9/_modules/django/contrib/auth/#login <https://docs.djangoproject.com/en/1.9/_modules/django/contrib/auth/#login>, ma ti serve appunto per gestire la session.

> 
> * authenticate di Django richiede la password appunto, ma vuole la pwd in chiaro e poi lui aggiunge salt e crittografia per controllare con il valore storato sul db oppure gli va bene com'e' scritto (leggo la pwd dal Db e glie la passo)?

Credo proprio di si, cioè’ non puoi leggere la password crittata e poi passarla a authenticate facendo il login in questo modo.

-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20160107/d10fda03/attachment.html>


Maggiori informazioni sulla lista Python