а как в таком случае авторизовывать внешнее приложение в Апи? С помощью логина и пароля?
open-oauth2, просто и сложно
просто:
oauth2 сервер на python, создаешь токен для приложения, SECRET_KEY, SECRET_PASSWORD, поднимаешь, кидаешь JWT токен через апи получения токена, все, остальные API закрываешь, доступ только по токену, не просроченному, выданному твоим сервером, соотв. имплементируешь функцию валидации токена.
сложно:
используй сервер microsoft azure, open oauth2, в приложении задай страницу валидации, и response_url для редиректа, и зарегистрируй приложений в Azure, далее как в п1, только валидируй обращясь к серверу Azure, он возьмет на себя нагрузку по показу страницы разрешений, редиректа и так далее.