2012-05-18 1 views
8

Извинения за новичок.RESTful, аутентификация пользователя и Django-tastypie

Я немного смущен об общем подходе к использованию сервисов RESTful в сочетании с отдельными пользователями. В частности, я в первую очередь занимаюсь разработкой API, который только я буду использовать через различные приложения, которые я пишу, а именно, веб-приложение и потенциально некоторые мобильные приложения, которые будут иметь доступ к тем же данным.

(1) Является ли API для отдыха чем-то вроде django-tastypie подходящим (или даже лучшим) для непубличного использования - т. Е. Когда я только хочу предоставить доступ к этим данным через свои приложения?

(2) Создавая логин-доступ к API Restful, я создаю логин для всех пользователей моего веб-приложения - или я создаю логин для сам и мое веб-приложение? Должны ли учетные записи пользователей на моем веб-сайте считаться отличными от учетных записей для доступа к API Restful?

В принципе, я хочу создать приложение, использующее Django и django-tastypie, которые позволят пользователям входить в систему, создавать & просматривать объекты, подписываться на пользователей и просматривать их объекты. Я хочу использовать Tastypie API для своих собственных javascript-целей, чтобы облегчить создание сериализации и обновление соответствующих данных в моих представлениях. Где эти учетные записи пользователей соответствуют этой картине? Благодаря!

+0

Ваша точка № 2 мне не очень понятна.Можете ли вы, чтобы ваши приложения были вашими пользователями api (что опять-таки является проектом django, я предполагаю)? – zubinmehta

ответ

4

Если я правильно понимаю, вы имеете дело с двумя отдельными проблемами, связанными с этим: (A) Доступ к API - только для вашего веб-приложения или мобильного приложения (B) Доступ к пользовательским данным через API - для пользователей через ваш web/мобильное приложение

Для (A) вы можете просто аутентифицироваться на секретном ключе. Таким образом, ваш веб-интерфейс или мобильный интерфейс отправляют этот ключ с каждым запросом API, что гарантирует, что вы получаете запросы только от клиентов, которых вы разрешаете.

Если вы хотите использовать разные клавиши для разных приложений, вы можете создать простую модель django, чтобы отслеживать их и добавлять новые ключи или отменять их по мере необходимости.

Если вы используете SSL для всего, вы должны быть в безопасности от обнюхивающих атак, чтобы открыть свой ключ. Я думаю, что самым слабым моментом здесь было бы то, что кто-то может перепроектировать ваше мобильное приложение, чтобы найти ключ, так как вам нужно будет хранить ключ в приложении.

Для (B) используйте систему django auth. Tastypie Basic или ApiKey Authenticators должен позволять вам регистрировать пользователей и через API и на основе их разрешений, доступа или создания данных. Думаю, это то, о чем вы спрашивали во втором вопросе?

Я не думаю, что вы можете использовать одни и те же модели auth для обоих (A) и (B), если вы используете сеансы, потому что вы не можете одновременно иметь два активных сеанса.

+0

Спасибо за ответ. С тех пор я немного изменился, но по-прежнему был смущен основными принципами. – bento

+0

@sid, какая разница между аутентификацией ApiKey и аутентификацией секретного ключа, описанной в (A)? –

0

Я новичок с Джанго и ФПИ и я мог бы использовать некоторые help.I только что создали Note приложение и я подумываю, если я буду нужен пользователю/авторы/клиенты второе приложение в моем проекте. Я просто хочу, чтобы пользователь мог войти в систему, создать свои собственные заметки, а заметки должны иметь одного (или более) авторов, чтобы я мог фильтровать userdata.Any help?

PS: Я тоже новичок, поэтому мы можем поддерживать связь, если вы хотите.

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

  • Нет связанных вопросов^_^