Реализация OAuth на API с электронной почтой / паролем для аутентификации - PullRequest
0 голосов
/ 06 сентября 2018

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

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

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

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...