Я использую django rest framework Token Authentication. В случае, если я вызываю url, предоставляя токен (Token aesdghfhkjdsajgaadsa), который недействителен или уже удален, я получаю всплывающее окно с запросом имени пользователя и пароля. Как я могу избежать всплывающих подсказок? Я просто нужен ответ какDjango Rest Framework Token Аутентификация неудачных результатов в Pop
{"status": -1, "errors": "Token Expired"}
Я использую пользовательский маркер проверки подлинности, как указано,
class ExpiringTokenAuthentication(TokenAuthentication):
def authenticate_credentials(self, key):
try:
token = self.model.objects.get(key=key)
except self.model.DoesNotExist:
raise exceptions.AuthenticationFailed('Invalid token')
if not token.user.is_active:
raise exceptions.AuthenticationFailed('User inactive or deleted')
# This is required for the time comparison
utc_now = datetime.utcnow()
utc_now = utc_now.replace(tzinfo=pytz.utc)
if token.created < utc_now - timedelta(hours=24):
token.delete()
raise exceptions.AuthenticationFailed('Token has expired')
return token.user, token
Есть ли решение для этого?
Это было правильно. Мне пришлось изменить список DEFAULT_AUTHENTICATION_CLASSES. Когда я удаляю BasicAuthentication из своего списка, я получил решение. благодаря –