2013-07-24 4 views
2

Я работаю над приложением, в котором третьи стороны заинтересованы в интеграции с нами. Я хотел бы создать токен для каждого пользователя и задавался вопросом, что является наиболее эффективным и распространенным способом в django? Я пытался найти, и нашел это, которое выглядит многообещающим:Создание токенов api для третьих лиц

https://github.com/jpulgarin/django-tokenapi

Очевидно из коробки он не будет работать, но я могу реализовать аналогичным образом. В вышеупомянутом проекте в основном используется алгоритм хэширования ша. Можно ли использовать этот или MD5 для токенов api? Любая помощь приветствуется!

ответ

2

Когда вы выбираете ключи API, два фактора вы ищете являются

  1. Infeasable угадать. Это означает, что ваш ключ должен казаться случайным и что он слишком длинный для переборки

  2. Is Unique. Означает, что ни один из двух пользователей не может случайно получить один и тот же ключ API. вы можете применить это с ограничениями уникальности базы данных.

Помните, что если вы используете только 1 ключ, вы ДОЛЖНЫ включить SSL на всех ваших конечных точках api. Ключи, украденные в пути, плохие, М'кай?

Теперь, для реализации, если вы используете свои собственные пользовательские представления для обслуживания вашего API, то https://github.com/jpulgarin/django-tokenapi должен хорошо работать для вас.

Если, однако, вы используете TasyPie или аналогичный, вы можете использовать свой встроенный код авторизации, включая управление api-ключами.

http://django-tastypie.readthedocs.org/en/latest/authentication_authorization.html#apikeyauthentication

http://django-rest-framework.org/api-guide/authentication.html#tokenauthentication

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