Аутентификация пользователей в приложении BackBone + Django

До сих пор планировалось использовать Backbone JS во внешнем интерфейсе и Django с Rest API, работающим во внутреннем. Но когда дело доходит до аутентификации пользователей, я ничего не понимаю. Я понятия не имею, как люди делают это с Rest API.

Когда я попытался погуглить, это меня испугало. Я имею в виду, что это не невозможно, но поскольку у меня есть ограничение по времени, чтобы закончить его за неделю, я предпочел не делать этого таким образом.

Мне все время было интересно, как это сделать. Вещи, о которых я должен позаботиться, - это проверка пользователя и отображение его / ее контента ему, а не всем.

Аутентификация Rest API может быть выполнена. Но нужно разобраться с вызовами из Backbone JS. Это немного сложно. Это включает в себя пользовательские вызовы AJAX, а это означает, что мне нужно выяснить, как работает AJAX, и это занимает больше времени.

Мне становилось все труднее найти выход. Эта ситуация сохранялась до тех пор, пока я не погуглил о создании приложений с помощью backbone и django.

Я нашел эту замечательную статью в блоге, написанную разработчиком из компании, которая использовала Django и Backbone при создании своего продукта. Их стек продуктов гласил:

Мы используем традиционные представления Django в нескольких местах, таких как вход в систему, выход из системы и профили пользователей, но остальные представления обрабатываются внешним интерфейсом.

Ух ты. Разве это не отличная идея. Почему бы нам не воспользоваться преимуществами Django, если мы все равно его используем.

Поэтому я начал строить его таким образом. После копирования интерфейсных файлов (HTML и JS) в каталог Django я обнаружил, что к ним нельзя обращаться напрямую из браузера. Нам нужна реализация статических файлов() для обслуживания файлов JS, а доступ к файлам HTML можно получить из представления, подобного этому.

Поверьте мне, получить доступ к HTML-файлу через статические файлы сложно. Я потратил около того, чтобы добиться этого, и от этой идеи пришлось отказаться напрасно.

Итак, поток такой. Получите доступ к index.html, для этого требуется авторизация. Перенаправляет вас на страницу входа, если вы не вошли в систему. Перенаправляет обратно на index.html, который запускает код Backbone JS для выполнения определенных действий.

Вход, выход и регистрация — это представления Django. После входа в систему запускается Backbone JS и выполняет вызовы Rest.

Речь идет об аутентификации пользователя в приложении, которое я пытаюсь создать.

Кроме того, я записал этот день (если вы читаете его 7 июля 2016 г.) о том, как прошел этот день и какие ошибки я могу исправить, чтобы завтра быть более продуктивным.

Продолжайте взламывать!