/ / Django REST Framework - OAuth2 Consumer API da provider esterno - python, django, api, oauth-2.0, django-rest-framework

Django REST Framework - OAuth2 Consumer API da provider esterno - python, django, api, oauth-2.0, django-rest-framework

Sto cercando di autorizzare gli utenti ad accedere ad alcune risorse dalla mia API framework di Django REST usando Oauth2.

La maggior parte delle risposte su Oauth2 e API si occupano di rendere l'API un provider.

Ma ho intenzione di condividere un provider Oauth2 con molte API REST e non riesco a capire come consumare (non come fornire Oauth2).

Non ho idea di come un utente possa accedere alprovider SSO, quindi comunica il proprio token alla mia API consumer, che deve autenticare gli utenti contro il mio provider (recuperando le informazioni, principalmente le autorizzazioni).

Qualcuno ha un indizio su come consumare Oauth2 dal framework Django REST?

Figura:

[Utente] -> [La mia API] <-> [Provider Oauth2 (con django-oauth-provider)] <-> [Active Directory / anything]

risposte:

4 per risposta № 1

Guardando il codice a https://github.com/tomchristie/django-rest-framework/blob/master/rest_framework/authentication.py#L290 sembra proprio impossibile. Il framework django-rest accede internamente alle tabelle del database del provider per controllare i token e autenticare le richieste utilizzando questi dati.

Che per me blocca in qualche modo lo scopo di OAuth, ma qui andiamo.


1 per risposta № 2

Ho trovato queste domande correlate, che confermano quello che pensavo fosse un errore di interpretazione da parte mia:

Fondamentalmente, lo standard non definisce tale caratteristica ... è sorprendente, a condizione che molte persone colpiranno questo punto prima o poi.

La cosa più strana è che non potevo trovare alcun addon di django per farlo ... siamo noi i primi due che hanno bisogno di autenticare più di una API usando lo stesso Auth Server?