Как обеспечить интерфейс аутентификации Firebase для третьей стороны? - PullRequest
0 голосов
/ 07 сентября 2018

(«Superpoints» и «Megashop», используемые ниже, являются поддельными названиями компаний)

Я использую Firebase Auth для аутентификации пользователей в моем (Android) приложении («Суперпункты»). Мои пользователи могут зарабатывать баллы за использование моего приложения, а затем могут тратить их на оплату чего-либо.

Я хочу интегрироваться с партнером («Мегасоп») следующим образом:

  1. Алиса открывает приложение Superpoints на своем телефоне Android.
  2. В приложении она нажимает «Кампании Megashop».
  3. Откроется веб-браузер или веб-браузер (в зависимости от того, что мне подходит) для superpoints.megashop.com. На открывшейся странице есть кнопка типа «Войти с учетной записью Superpoints».
  4. Алиса нажимает «Войти в систему с помощью учетной записи Superpoints» и предоставляет свои учетные данные (это может быть электронная почта + пароль, вход с помощью номера телефона, вход с использованием учетной записи Google).
  5. Система проверяет, существуют ли учетные записи Алисы в моей базе данных пользователей, и отправляет обратно Megashop ответ с идентификатором членства Алисы в Superpoints и ее балансом (например: "{memberId: 100500, points: 42}").
  6. После того, как Алиса покупает что-то в Megashop, их ловушка проверки отправляет запрос конечной точке HTTPS на облачную функцию, которая добавляет сумму баллов (например, 250 баллов) к балансу Алисы (что-то вроде https://app.superpoints.com/accrual?partner=megashop&memberId=100500&points=250).

На веб-сайте моего приложения я выполняю аутентификацию с использованием FirebaseUI Auth, в приложении я также использую FirebaseUI (библиотека для Android).

Теперь наконец вопросы: Как аутентифицировать моих пользователей на сторонних сайтах? Каковы лучшие практики? Должен ли я создать какой-то шлюз для третьей стороны или есть более простой способ сделать это?

1 Ответ

0 голосов
/ 07 сентября 2018

Это классический случай OAuth .

Firebase Auth, насколько я знаю, не поддерживает работу в качестве поставщика OAuth.

...