Django удаленный пользователь аутентифицируется: значение слишком длинное для типа, изменяющегося по символам(30)

Я следовал этому руководству для интеграции Auth0 в мой существующий проект django rest. Я использую Postman для отправки необходимых данных, указанных на вкладке "Test" для моего Auth0 Custom API. Post работает, и я получаю в ответ маркер доступа. Но когда я пытаюсь использовать этот токен в заголовке авторизации для доступа к следующему представлению:

@api_view(['GET'])
def private(request):
    return JsonResponse({'message': 'Hello from a private endpoint! You need to be authenticated to see this.'})

Я получаю следующую ошибку:

django.db.utils.DataError: значение слишком длинное для типа character varying(30)

>

Когда я прокручиваю весь журнал ошибок, кажется, что проблема возникает из-за следующего кода:

def jwt_get_username_from_payload_handler(payload):
    username = payload.get('sub').replace('|', '.')
    authenticate(remote_user=username)
    return username

Django, похоже, не может поместить имя пользователя, полученное от Auth0, в таблицу RemoteUser при попытке аутентификации.

Если вам нужно посмотреть код, вы можете взглянуть на ссылку, поскольку я не изменил практически ничего, кроме эмитента и аудитории. У меня есть пользовательская модель User, так что если вы думаете, что она уместна в данном случае, я с радостью добавлю ее в код.

Вернуться на верх