Под капотом в CPython все указатель на PyObject
. Подтип PyListObject
имеет указатель на массив указателей на PyObjects
среди его структурных полей.
Строки также являются подтипом PyObject
, обычно реализованным в PyUnicodeObject
. Аналогично списку, строка содержит указатель на буфер, содержащий его элементы.
Таким образом, последовательность указателей на самом деле выглядит так:
Вы можете сделать вывод, что ваш список буфер не может иметь [len('aaa') + len('bbb')] * size_of_char
элементов по ряду причин.
В общем, если вам интересно узнать о внутренних функциях CPython, посмотрите в API docs , и исходный код .
Метод validate
вашего JwtStrategy
будет вызываться только тогда, когда токен был проверен с точки зрения шифрования (для его подписи использовался правильный ключ, в вашем случае secretKey
), и срок его действия не истек. Только после того, как эти две вещи были проверены, вызывается validate
с полезной нагрузкой. С его помощью вы можете, например, проверьте, существует ли пользователь. Итак, три шага:
Вы можете использовать отладчик jwt , чтобы вручную проверить шаги 1 и 2 для вашего токена.