Django: Limit pohled API výstup obsahovat pouze údaje OAuth ověřený uživatel?

hlasů
0

Moje aplikace vyžaduje souhlas uživatele používat údaje o aktivitě ze svého účtu strava (Strava je sociální služba pro sportovce).

Strava používá OAuth tok pro to, aby se uživatel přihlásí do strava, dá svůj souhlas, a strava přesměruje na předem určenou adresu URL s kódem přidaným k dotazu řetězec, který může být následně vyměnit za token přístupu přes další požadavek:

def strava_redirects_to_this_view(request):
    #strava redirects to this view after authentication, with code in query string

    #get tokens
    code = request.GET.get('code', '') # extract code from redirect URL query string
    access_token = exchange_code_for_token(code) # custom function to make exchange request

Chci jinou aplikaci - běžící na jiném serveru - získat údaje pouze ověřený uživatel pomocí API.

Nicméně, já nevím, jak omezit výstup API obsahuje pouze údaje aktuálně přihlášeného uživatele.

V současné době můj názor API dotazuje všechna data (aktivity), bez ohledu na uživatele:

class ListActivitiesView(generics.ListAPIView):
    queryset = Activity.objects.all()
    serializer_class = ActivitySerializer

Vím, že by mohla omezit sadu dotazů pouze přihlášeného uživatele, pokud jsem měl registraci uživatele v mé aplikaci, ale já bych raději nemít další registraci jako uživatel již má k přihlášení do strava.

Jak bych se omezit querysetna zahrnout pouze aktuálně OAuth ověřený uživatel? Použití by of python-social-auths Strava backend být jakékoliv pomoci tady?

Položena 27/11/2018 v 18:04
zdroj uživatelem
V jiných jazycích...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more