Как настроить аутентификацию на основе токенов для веб-сервисов, использующих Python? - PullRequest
4 голосов
/ 31 марта 2011

Я относительно новичок в веб-аутентификации, Python и Django. Тем не менее, мне нужно настроить аутентификацию на основе токенов для каждого пользователя для служб RESTful, и я не уверен, с чего начать. Любые указатели будут с благодарностью.

Ответы [ 2 ]

2 голосов
/ 01 апреля 2011

Я сделал нечто подобное, где у каждого пользователя будет свой уникальный токен.Я создал UserProfile для хранения токена:

from django.contrib.auth.models import User

class UserProfile(models.Model):
    user = models.ForeignKey(User, unique=True)
    token = models.CharField(max_length=100, blank=True)

Идея состоит в том, чтобы войти в систему пользователя Django, как указано в документе.После успешной аутентификации пользователя создайте или обновите UserProfile для хранения токена, который вы получите при вызове аутентификационной WS или другой WS, которая вернет вам уникальный токен.

Пока аутентифицируется текущий пользователь,Вы должны иметь возможность использовать сохраненный токен для вызова другого WS.

В вашем settings.py:

AUTH_PROFILE_MODULE = 'userprofiles.userprofile'

Из кода представления это выглядит примерно так:

request.user.get_profile().token
2 голосов
/ 31 марта 2011

Есть пакет django-tokenapi.Его домашняя страница / README выглядит довольно информативно.Вы уже взглянули на это?Если да, уточните вопрос о том, что вы пробовали и с какими проблемами столкнулись.

Обратите внимание, что я не очень знаком с Django, поэтому я не смогу помочь в дальнейшем.

...