Я немного борюсь с этим, выливая кучу других ответов 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 в запросе, откуда я узнаю, что , что ключ должен быть? Где он определен на сервере?
Любая помощь?
А, хорошо, вот где я создаю api_key. Итак, следующий вопрос, если у меня есть промежуточное программное обеспечение, которое ударяет вас на страницу входа в систему, если вы не вошли в систему, может ли TastyPie иметь дело? Как-то скажите Django, что этот пользователь может получить доступ к данным. Разве это не пункт «ApiKeyAuthentication»? – Garfonzo
Ну, это совершенно другой вопрос. Вы должны открыть другой вопрос, и я постараюсь ответить там. Таким образом, люди смогут найти оба вопроса, не глядя в комментарии на совершенно несвязанный;) А также, если этот ответ помог, пожалуйста, отметьте его как принятый! Cheers –
Спасибо, ваше решение действительно помогло. Я открыл еще один пост по адресу http://stackoverflow.com/questions/25573037/django-tastypie-authentication-and-custom-middleware-headache – Garfonzo