Как защитить 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')),
]
Нужно ли мне что-то настраивать в дочернем приложении, или может какая другая альтернатива у меня есть? Промежуточное ПО?