Django rest framework может определять пользователя множеством способов, например по кукам или через basic-аутентификацию. Чаще всего по токену.
Способы аутентификации указываются в настройке REST_FRAMEWORK['DEFAULT_AUTHENTICATION_CLASSES'].
Если один из способов смог определить пользователя, то пользователь задаёт request.user, а сам класс аутентификации прописывается в request.successful_authenticator, чтобы можно было определить какой из способов сработал.