[pyar] [django] Problema con autenticación de API

Adrian Pardini pardo.bsso en gmail.com
Jue Abr 30 12:40:35 ART 2015


2015-04-30 12:13 GMT-03:00 Daniel <dmlistapython en gmail.com>:
>> el frontend y el admin se sirven por el mismo servidor? Si tenés
>> localhost:8000/admin por un lado y localhost:1333/app-en-angular por
>> otro eso no te va a funcionar.
>
> Probándo con una excepción CORS en Chrome anda (sino obtengo otro error)
>
>> Si usas el inspector del browser, tu aplicación en angular envía algún
>> tipo de token / cookie cuando hacés una llamada al api?
>
> Cuando veo como consulta el API directamente desde la URL manda
> cookies sessionid y csrf
>
> pero pruebo ponerlos en el header y funciona (pero no estoy seguro de
> hacerlo correctamente)

Oks, si tu aplicación en angular está servida en otro host/puerto
diferente al del api en ese vas a tener que ponerle los encabezados
para que pueda funcionar.
Mientras pruebo suelo instalar corsheaders en Django y usando
CORS_ORIGIN_ALLOW_ALL = True en el settings.py (esto habría que
ponerlo mas restrictivo al pasar a producción).

En este momento estoy sin la referencia pero SessionAuthentication
depende de una cookie que te da el login de django. Si están en
distintos dominios (admin/api y frontend) $http o Restangular no te la
van a enviar así nomás. Aparte de eso creo que hace falta poner el
token csrf en cada llamada.

>
>> Ya viste django-rest-auth?
>
> No, supuse que si funciona desde el admin el backend debe estar bien, el
> problema
> lo tengo en el front ¿estoy equivocado?

No, pero por lo menos a mi me ayudó al momento de hacer la parte de
login / registro desde angular, eso me devolvia un token y haciendo
Restangular.setDefaultHeaders({'Authorization': 'Token ' + token }) ya
salía andando.


-- 
Adrian.
http://ovejafm.com
http://elesquinazotango.com.ar
http://www.elarteylatecnologia.com.ar


More information about the pyar mailing list