Как защитить URL дочерних приложений с помощью auth в Django DRF API

Вот мой сценарий:

У меня есть унаследованная база данных и Django api, которая ее использует. Сейчас мы разрабатываем другой пакет с Django DRF, который будет установлен в "родительском" приложении.

В родительском приложении уже есть аутентификация oauth.

Итак, в родительском приложении settings.py

REST_FRAMEWORK = {
    'DEFAULT_AUTHENTICATION_CLASSES': ('oauth2_provider.contrib.rest_framework.OAuth2Authentication',)
}

Тогда маршруты будут защищены этой системой аутентификации. Это routes.py:

urlpatterns = [
    path('api/v1/', include('myapp.routes', namespace='api')),
    # OAuth 2.0
    path('o/', include('oauth2_provider.urls', namespace='oauth2_provider'))
]

Я устанавливаю свой пакет, который по сути является DRF API с моделями managed=False, и это будет API, который будет работать с унаследованной БД. (это сделано и работает нормально)

pip install -m my_new_child_package

После установки пакета и добавления его урлов я хотел бы иметь аутентификацию. По сути, применить тот же аутентификатор родительского приложения. Поэтому я хочу сделать следующее:

urlpatterns = [
    path('api/v1/', include('myapp.routes', namespace='api')),
    path('o/', include('oauth2_provider.urls', namespace='oauth2_provider'))

    # I want to protect routes under api/v2/ as well with existent auth system.
    path('api/v2/', include('my_new_child_package.urls')),
]

Нужно ли мне что-то настраивать в дочернем приложении, или может какая другая альтернатива у меня есть? Промежуточное ПО?

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