Я реализовал приложение с использованием C# и Django, и моя проблема заключается в том, что при входе в систему клиент возвращает все правильно, sessionid и все, кроме токена csrf.Django не возвращает токен CSRF
У меня есть это в моем файле настроек в middleware_classes. Это потому, что я получаю доступ непосредственно к серверу через его IP-адрес?
Мой Джанго Войти Функция
class loginMobile(GenericAPIView):
serializer_class = loginSerializer
def post(self, request):
try:
email = request.DATA.get('email')
password = request.DATA.get('password')
user_django = authenticate(username=email, password=password)
login(request, user_django)
return Response({'success': True})
except:
return Response({'success': False})
мой C# запрос:
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
// Get the response stream
StreamReader reader = new StreamReader(response.GetResponseStream());
if (response.Cookies != null && response.Cookies.Count != 0)
{
this.cookie_col = response.Cookies;
this.cookies = new List<Cookie>();
foreach (Cookie c in response.Cookies)
{
this.cookies.Add(c);
if (c.Name.Equals("csrftoken"))
this.csrf_token = c.Value;
}
}
}
В "Response.Cookies" Я только получить "SESSIONID" не "csrftoken" Также это происходит, когда я размещал приложение на сервере, он работает как очарование на моей локальной машине
это может быть ответом http://stackoverflow.com/a/16703297/202168 – Anentropic
уведомления У меня возникли проблемы с моим C# приложением, его отлично работает в браузере ... – pedrotorres
Я ничего не знаю о C#, но возможно ли, что браузер уже имеет cookie csrf от просмотра другой страницы, в то время как ваше приложение C# вызывает только просмотр json (?), в котором отсутствует шаблон templatetag или декоратор, чтобы сообщить Django отправить cookie? так и http://stackoverflow.com/questions/20361653/template-less-django-ajax-does-djangos-csrf-token-get-updated-during-the-cou?rq=1 – Anentropic