Как использовать улучшенную аутентификацию в Django Rest Framework и применять действия на основе ролей (администратор против пользователя)?

Я создаю проект с помощью:

  • Интерфейс: Next.js использование Better-Auth для аутентификации
  • Серверная часть: Django + Django REST Framework (DRF)

Лучше-Auth выдает клиентам JWT, и я хочу, чтобы Django доверял этим токенам. Например:

  • Обычные пользователи могут получить доступ к основным конечным точкам (/profile, /orders/).
  • Только администраторы должны иметь доступ к определенным ресурсам (например, /reports/, /admin-tools/).

Как правильно:

  1. Улучшите проверку Django-JWTS Auth?
  2. Проанализируйте утверждение role из токена, чтобы я мог различать "user" и "admin"?
  3. Примените эти роли в DRF, чтобы только администраторы могли получать доступ к определенным представлениям?

Я видел примеры с rest_framework_simplejwt, но в них обычно предполагается, что токены выдает Django. В моем случае токены выдаются Better-Auth (Next.js).

Раньше я использовал Djoser + Auth.js , но поскольку команда Auth.js официально объявила, что теперь она будет поддерживаться лучшими разработчиками.-Команда Auth и порекомендовала использовать Better-Auth для новых проектов, я решил отказаться Auth.js и двигайтесь вперед с улучшенной авторизацией.

Как мне следует настроить аутентификацию DRF + разрешения для этой настройки?

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