2015-12-06 1 views
1

У меня сейчас есть веб-приложение Django, и теперь я создаю приложение iOS, которое нужно подключить к той же базе данных. Итак, я создаю API-интерфейс python из своего приложения Django. Я не знаю, как обрабатывать аутентификацию из приложения iOS для этого API Python ...? Я хочу просто разместить декоратор Django @login_required для каждого из моих представлений API (как и для части веб-приложения), но я не уверен, как это сделать, поскольку клиент iOS не отправляет объект User. Что мне делать?Аутентификация для API на основе приложения Django

Я попытался сделать свой собственный декоратора, который выглядит для username и password в запросе клиента, но я думаю, что это, вероятно, очень тупой с моей стороны, как я теперь не как сохранить имя пользователя/пароль в секрете и что имя пользователя/Данные пароля затем отображаются в URL-адресе. Любые идеи/помощь будут высоко оценены!

ответ

1

Нет ничего плохого в том, что вы можете перевернуть свои собственные представления API и использовать базовый декодер аутентификации, но, возможно, стоит потратить немного времени (возможно, 2-3 часа на занятие), чтобы изучить Django REST Framework.

Django REST Framework является одним из лучших пакетов Python (прямо там с запросами) и имеет огромное сообщество, поэтому, если вы застряли, StackOverflow будет на вашей стороне. Он предлагает authentication (т. Е. Подтвердить, кто вы/логин) и авторизация (т. Е. Специальные средства контроля доступа). Но я настоятельно рекомендую сделать полный tutorial.

+0

Первоначально я изучал DRF, но думал, что это может быть излишним для того, что мне нужно. Я загляну в нее еще раз - спасибо за ваш совет! На данный момент аутентификация - это мой единственный контрольный блок, поэтому я хотел бы посмотреть, смогу ли я работать с тем, что у меня есть, поскольку все остальные части работают! Я просто не уверен, как клиент передает данные «Пользовательский объект» на сервер, поэтому я могу использовать декоратор ... – steph

+0

Я читаю учебник по DRF, но тем временем я также хотел бы видеть если я могу получить некоторый аут на мой текущий API ... можете ли вы предложить, как я могу перейти к базовому HTTP-аутентификатору? У меня есть декоратор на каждом представлении, которому требуется имя пользователя и пароль с каждого запроса. Как отправить эти данные безопасным способом (прямо сейчас, я просто получил его в теле запроса)? @orokusaki – steph

+0

@steph не имеет значения, как вы его отправляете (заголовки или тело), ​​если вы отправляете его через HTTPS. Если вы используете небезопасный HTTP, вы будете обречены в любом случае. Если вы ищете Google для «Django basic auth», вы найдете учебное пособие на веб-сайте Django, а также ряд учебных пособий в других местах в Интернете. – orokusaki

Смежные вопросы