2016-06-07 30 views
7

Ho creato un provider oauth usando django-oauth-toolkit.Abilita accesso oauth con django-allauth ma un fornitore personalizzato

Vorrei ora consentire agli utenti dell'applicazione client di accedere tramite questo provider.

La mia comprensione è che django-allauth è lo strumento ideale per questo.

Vedo che django-allauth ha una cartella speciale per ogni provider, e in questa cartella c'è un file speciale chiamato provider.py. Ad esempio, this è la cartella per il provider github.

Devo creare qualcosa di simile a questa cartella, specialmente per il mio fornitore personalizzato? O c'è un modo più semplice/migliore per farlo?

+0

Ciao! Sto appena iniziando un nuovo progetto e ho problemi simili che voglio usare django-oauth-toolkit per provider e django-allauth per il consumatore. Hai trovato qualche tutorial o documento su questo? – Norak

+0

No purtroppo :( – Brachamul

+0

Grazie per aver risposto comunque. – Norak

risposta

0

Sulla base di ciò che dice la documentazione, rileva nuovi provider basati su INSTALLED_APPS. Quindi avrai bisogno di un'app di Django che abbia la stessa struttura sì e includa uno providers.py. Quindi dovresti essere in grado di utilizzare una nuova app o una esistente.

Questo è dal docs:

Quando un provider esistente non soddisfa le vostre esigenze, si potrebbe aver bisogno di personalizzare un provider.

Ciò può essere ottenuto sottoclassando un provider esistente e apportando le modifiche qui. I provider sono definiti come applicazioni django, quindi in genere personalizzando si intende creare un'applicazione django nel progetto , contenente i file urls.py, views.py e provider.py personalizzati. Quale comportamento è possibile personalizzare va oltre lo scope di questa documentazione.

Inoltre, una nota circa il contenuto del file providers.py:

Nel file provider.py, è necessario esporre la classe fornitore da avere un attributo di livello di modulo chiamato provider_classes con il tuo classi personalizzate in un elenco. Ciò consente al provider personalizzato di essere registrato correttamente in base all'impostazione INSTALLED_APPS.

Problemi correlati