Есть ли способ отделить прогаммный доступ к Django Rest API от доступа к React и каковы альтернативы?
Это, очевидно, вопрос дизайна, и, возможно, я слишком задумываюсь.
Однажды меня спросили, как генерировать API ключи, и я объяснил процесс получения токенов (DjangoRest -> React), на что мне ответили: "Это для входа в систему/аутентификации, как бы вы реализовали 'Generate API key'".
Если мое приложение - DjangoREST + React, это означает, что все мое приложение работает как RESTful. Есть ли вообще способ контролировать доступ "фронтенда", а не программный доступ, поскольку пользователи CLI/Scripting могут просто программно нажать на конечную точку входа? Кажется, что единственное, что можно сделать здесь с React Front и DjangoREST бэкендом - это ограничить вызовы каждого из маршрутов, но контролировать "браузерные" запросы по сравнению с запросами на основе cli практически невозможно. (Если только я не сделаю черный список/белый список по агенту пользователя, но это кажется очень невыполнимым)
Я делаю вывод, что единственный способ эффективно "контролировать" программный доступ в Django - это не использовать React Frontend, а создать отдельные URL для api. Но тогда в этом случае я не понимаю, зачем нужны client_ID и client_secrets (как я видел на других сайтах, предлагающих API), потому что если я просто занесу пользователя в черный список для получения маркеров доступа, которые генерирует RESTful сторона, то он все равно не сможет получить доступ к API, так зачем же нужны client_ID и client_secrets?