Реализация OAuth на API с электронной почтой / паролем для аутентификации

Я просто унаследовал владение API (написанным на Python/Flask и работающим на AWS, с серверной частью MongoDB), где единственной аутентификацией была ручная регистрация по электронной почте / паролю.

Текущий процесс:

  1. Получить адрес электронной почты и пароль от пользователя (через приложение).
  2. Отправить в API, который возвращает ключ API в объекте JSON после проверки пароля.
  3. Используйте API Key во всех последующих вызовах API для использования сервисов.

Этот API-интерфейс использовался в качестве серверной части для нескольких приложений Android. Теперь я хочу добавить OAuth, чтобы пользователи могли входить в систему с помощью Google Auth, но я столкнулся с камнем преткновения при реализации этого:

Я не могу использовать любую другую аутентификацию, такую ​​как Firebase Auth, потому что даже после того, как аутентификация выполнена в приложении (электронная почта / пароль или Google), у меня нет способа получить ключ API без ручного пароля (из-за способа его реализована).

Я рассмотрел следующие темы здесь, на SO и на веб-сайте OAUth, но ничего не приходит в голову о том, как справиться с этим.

Как мне справиться с этим? Нужно ли переписывать API? Я спрашиваю об этом, потому что, если я "доверяю" модулю OAuth, я должен предоставить ему конечную точку и конфиденциальные данные (без аутентификации с помощью API), что является ужасной идеей.

0 ответов

Другие вопросы по тегам