2011-10-23 16 views
10

Voglio utilizzare social-auth per fornire la registrazione/autenticazione tramite i siti di social network. Ho cercato di capire come utilizzare social-auth, ma non sono stato in grado di andare oltre l'installazione delle dipendenze e la configurazione dei backend.Come integrare social-auth nel mio progetto

Sono fondamentalmente nuovo di Django e ho cercato di capire prima di postare sul forum. Forse perché non ne ho molta familiarità è per questo che non ho avuto successo. Qualcuno può per favore indicarmi un tutorial su come utilizzare social-auth. Questo mi aiuterà anche ad integrare altre app.

Aggiornamento:

Anche se la risposta data al di sotto risolto il mio problema, voglio solo condividere che ho finito per usare django-allauth al posto del social-auth. E l'ultima versione di django-allauth sembra essere la migliore app di autenticazione Django.

risposta

18

In qualche modo non è chiaro dalla documentazione.

È necessario creare app in Twitter/Facebook/qualsiasi altra cosa si desideri utilizzare.

Essi vi darà chiave API e segreta api.

Seguire questi passaggi fondamentali che fanno riferimento a socialauth docs:

  1. pip install
  2. aggiungere socialauth di applicazioni installate
  3. copia AUTHENTICATION_BACKENDS
  4. chiave di riempimento api e api segreto
  5. add modelli di URL di autenticazione sociale
  6. configurare i nomi di URL completi di autenticazione e associazione (SOCIAL_AUTH_COMPLETE_URL _NAME)
  7. processore contesto
  8. syncdb

Ora, ciò che la documentazione non ti dice, è quello di mettere i link nel vostro template login:

Login with <a href="{% url socialauth_begin 'twitter' %}">Twitter</a> 

dovrebbe funzionare.

+0

Ho fatto tutte le cose che hai sottolineato. Ora, quando ho creato la pagina di accesso e ho aggiunto la riga che mi hai chiesto, visualizzo il seguente errore Reverse per 'complete' con argomenti '(u'twitter',) 'e argomenti di parole chiave' {} 'non trovati Can mi dici cosa ho fatto di sbagliato? – Sachin

+1

Oh, mi dispiace davvero, ho dimenticato un passo: aggiungere SOCIAL_AUTH_COMPLETE_URL_NAME = 'socialauth_complete' SOCIAL_AUTH_ASSOCIATE_URL_NAME = 'socialauth_associate_complete' al codice –

+0

In realtà, come è stato dato nella loro specifica stavo usando SOCIAL_AUTH_COMPLETE_URL_NAME = 'completa', e questo stava causando un problema.Ora la cosa è che la mia pagina sembra elaborare quando, per esempio, uso/login/twitter ma poi reindirizza alla pagina di errore di accesso, puoi dirmi perché? È perché sto usando il server host locale? Si prega di aiutare – Sachin

Problemi correlati