2014-08-28 2 views
2

Я немного борюсь с этим, выливая кучу других ответов SO, но не могу понять, как аутентифицировать пользователя на моем сайте Django, используя ApiKeyAuthentication.Разрешение TastyPie и Django с ApiKeyAuthentication

В этом answer принятых условиях ответа «Добавить параметры имени пользователя и api_key в переменные GET». Мой вопрос: как узнать, что такое ключ api, если TastyPie генерирует ключ для меня? Если бы я хотел создать свой собственный ключ, где бы я положил этот ключ?

Вот мой api.py:

class SystemResource(ModelResource): 
    user = fields.ForeignKey(UserResource, 'user') 

    class Meta: 
    querySet = System.objects.all() 
    resource_name = 'system' 
    authentication = ApiKeyAuthentication() 

Когда я называю URL: http://192.168.1.130:8080/systems/api/v1/user/?username=garfonzo&api_key=123456789 это не удается, пиная меня на мою страницу входа в систему. Конечно, 123456789 вполне составлен, я не перечислял этот ключ нигде, так что в некоторых случаях это очевидно, что это не удается).

В документах обсуждается either создание заголовка авторизации или предоставление имени пользователя/api_ky в запросе. Но опять же, если я поставлю api_key в запросе, откуда я узнаю, что , что ключ должен быть? Где он определен на сервере?

Любая помощь?

ответ

1

Чтобы создать API-ключ для вашего Tastypie, вы должны перейти на сайт администратора, а в приложении TastyPie добавить новый ключ API. Выберите пользователя, оставьте ключ пустым, и он будет автогенерировать один для вас;)

+0

А, хорошо, вот где я создаю api_key. Итак, следующий вопрос, если у меня есть промежуточное программное обеспечение, которое ударяет вас на страницу входа в систему, если вы не вошли в систему, может ли TastyPie иметь дело? Как-то скажите Django, что этот пользователь может получить доступ к данным. Разве это не пункт «ApiKeyAuthentication»? – Garfonzo

+0

Ну, это совершенно другой вопрос. Вы должны открыть другой вопрос, и я постараюсь ответить там. Таким образом, люди смогут найти оба вопроса, не глядя в комментарии на совершенно несвязанный;) А также, если этот ответ помог, пожалуйста, отметьте его как принятый! Cheers –

+0

Спасибо, ваше решение действительно помогло. Я открыл еще один пост по адресу http://stackoverflow.com/questions/25573037/django-tastypie-authentication-and-custom-middleware-headache – Garfonzo

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