<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On 07 Jan 2016, at 11:56, Carlos Catucci <<a href="mailto:carlos.catucci@gmail.com" class="">carlos.catucci@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div class=""><div class=""><div class=""><div class=""><div class="">Devo fare una auth da social con Django. <br class=""></div>Lo so sarebbe facile, prendo un qualcosa tipo One4all e sono a posto. <br class=""></div>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). <br class="">Io controllo se il token e' presente in UserSocialAuth e se si devo autenticare. <br class=""></div></div></div></div></div></blockquote><div><br class=""></div><div>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.</div><div>Quindi dovresti avere una corrispondenza univoca user = token (nel caso di utente esistente).</div><div>Giusto ?</div><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class=""><div class="">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 (*).<br class=""></div><br class=""><div class="">username.backend = 'django.contrib.auth.backends.ModelBackend' <br class=""><br class=""></div>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?<br class=""><br class=""></div></div></div></blockquote><div><br class=""></div><div>Che ne pensi invece di questa soluzione ? <a href="http://stackoverflow.com/questions/6560182/django-authentication-without-a-password" class="">http://stackoverflow.com/questions/6560182/django-authentication-without-a-password</a></div><div><br class=""></div><div>Per quanto riguarda login, da quel che vedo non ritorna niente <a href="https://docs.djangoproject.com/en/1.9/_modules/django/contrib/auth/#login" class="">https://docs.djangoproject.com/en/1.9/_modules/django/contrib/auth/#login</a>, ma ti serve appunto per gestire la session.</div><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class=""><br class=""></div>* 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)?<br clear="all" class=""></div></div></blockquote><div><br class=""></div><div>Credo proprio di si, cioè’ non puoi leggere la password crittata e poi passarla a authenticate facendo il login in questo modo.</div></div><br class=""></body></html>