Я просто унаследовал владение API (написанный на Python / Flask и работающий на AWS, с серверной частью MongoDB), где единственным аутентификатором был ручной вход по электронной почте / паролю.
Текущий процесс:
- Получить электронную почту и пароль от пользователя (через приложение).
- Отправить в API, который возвращает ключ API в объекте JSON после проверки пароля.
- Использовать ключ API во всех последующих вызовах API для использования служб.
Этот API-интерфейс использовался в качестве серверной части для нескольких приложений Android.
Теперь я хочу добавить OAuth, чтобы пользователи могли входить в систему с помощью Google Auth, но я столкнулся с камнем преткновения при реализации этого:
Я не могу использовать любой другой Auth, такой как Firebase Auth , потому что даже когда аутентификация выполнена в приложении (электронная почта / пароль или Google), я не могу получить ключ API без ручной пароль (из-за способа его реализации).
Я прошел следующие темы здесь, на SO и на веб-сайте OAUth , но ничего не приходит в голову о том, как решить эту проблему.
Как мне справиться с этим? Нужно ли переписывать API? Я спрашиваю об этом, потому что, если я «доверяю» модулю OAuth, я должен предоставить ему конечную точку и конфиденциальные данные (без аутентификации с помощью API), что является ужасной идеей.