Я борюсь с этой проблемой в течение нескольких часов: У меня есть одностраничное приложение, написанное в Angular, которое связывается с бэкэндом DjangoREST. Я пытаюсь реализовать автофоку с сессионными куки. Как я вижу это:Непрерывный файл cookie аутентификации в SPA AngularJS/Django REST
1/Показать любое неавторизованный посетитель страницы входа
2/Сделать POST к URL/Войти с учетными данными
3/Получить «сеанса» печенья и письменной форме в услуге, которую пользователь вошедшего
4/Перенаправление vistor в стороне зарезервированного содержания и используемую получить & почты доступ к содержимому с куки
Войти конечную точку уже установлена и работает. Когда я делаю пост, я получаю HTTP 200 ответ с информацией пользователя и Set-Cookie, но последующие вызовы не содержат Cookie:
Request URL: ... Request Method:POST Status Code:200 OK Request Headersview source Accept:application/json, text/plain, */* Accept-Encoding:gzip,deflate,sdch Accept-Language:fr-FR,fr;q=0.8,en-US;q=0.6,en;q=0.4 Connection:keep-alive Content-Length:38 Content-Type:application/x-www-form-urlencoded; charset=UTF-8 Host:devinify1.herokuapp.. Origin:http://mobilevinify.herokuapp... Referer:http://mobilevinify.herokuapp... User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 Form Dataview sourceview URL encoded username:[email protected] password:test Response Headersview source Access-Control-Allow-Origin:* Connection:keep-alive Content-Length:189 Content-Type:application/json Date:Sat, 14 Dec 2013 20:45:14 GMT Server:gunicorn/18.0 Set-Cookie:sessionid=ijz27zy655qn0cwmlnvr66609hsyvdub; expires=Sat, 28-Dec-2013 20:45:14 GMT; Max-Age=1209600; Path=/ Vary:Cookie
Мой код очень простая адаптация углового-приложение, например : https://github.com/FelixLC/MobileWebApp/blob/master/app/scripts/security/security.js
Я пробовал это на localhost et on heroku. Сервер и клиент находятся в разных доменах, CORS разрешены. Когда я пытаюсь делать звонки, я получаю сообщение об ошибке от Django
TypeError at /vinibarwines/ int() argument must be a string or a number, not 'AnonymousUser'
Если я пытаюсь получить это печенье и положить его в заголовках с angularJS?
Вы можете попробовать войти в систему по адресу http://mobilevinify.herokuapp.com/#/login с помощью [email protected] & test. Затем нажмите на Vinibar, есть 500 внутренняя ошибка при запросе GET
Любая помощь очень ценится Felix
Я пробовал безуспешно зарегистрироваться в домене с доменом django, но в любом случае я всегда использую токены. Это достаточно просто реализовать. Если вам интересно, я могу отправить ответ. –
На самом деле, я наткнулся на ваш github раньше! Я пробовал ваше решение, но работает ли оно, когда мы обновляем страницу? Я не мог заставить ваш проект не разблокировать меня при обновлении. – FelixLC
Да, проект семени не использует файлы cookie, посмотрите ниже ответ, который я представил другим парням, похожим на вопрос. –