firebase - 如何为第三方提供 Firebase 身份验证接口?
问题描述
(以下使用的“Superpoints”和“Megashop”是假商家名称)
我正在使用 Firebase Auth 对我的(Android)应用程序(“Superpoints”)中的用户进行身份验证。我的用户可以通过使用我的应用赚取积分,他们可以在以后支付时消费。
我想通过以下方式与合作伙伴(“Megashop”)集成:
- Alice 在她的 Android 手机上打开 Superpoints 应用程序。
- 在应用程序中,她点击“Megashop 广告系列”。
- superpoints.megashop.com 的 Web 浏览器或 Web 视图(无论哪个对我来说都可以)打开。打开的页面有一个按钮,例如“使用 Superpoints 帐户登录”。
- Alice 单击“使用 Superpoints 帐户登录”并提供她的凭据(可以是电子邮件+密码、使用电话号码登录、使用 Google 帐户登录)。
- 系统检查 Alice 的账户是否存在于我的用户数据库中,并将响应发送回 Megashop,其中包含 Alice 的 Superpoints 会员 ID 和她的余额(例如:“{ memberId: 100500, points: 42 }”)。
- 爱丽丝在 Megashop 购买东西后,他们的结账钩子向 HTTPS 端点发送一个云功能请求,该云功能会在爱丽丝的余额(例如https://app.superpoints.com/accrual ?partner=megashop&memberId=100500&points=250)。
在我的应用程序网站上,我使用 FirebaseUI Auth 进行身份验证,在应用程序中我还使用 FirebaseUI(Android 库)。
现在最后的问题是:如何在第三方网站上验证我的用户?最佳实践是什么?我应该为第三方构建某种网关,还是有更简单的方法?
解决方案
这是OAuth的经典案例。
据我所知,Firebase Auth 不支持充当 OAuth 提供者。
推荐阅读
- javascript - 如何自动重置倒计时?
- powershell - 检测方法-powershell-registry
- express - 如何设置 2 个具有相同域的快速服务器
- c# - 在不是 HTTP 服务器实现的 .Net 通用主机中使用 AddHttpClient 时无法解析 HttpClient
- angular - 组件库中的 ComponentFactoryResolver
- amazon-s3 - 使用 spark 从 S3 读取禁止错误
- python - Python3中的一组一个元组
- javascript - 是否可以使用带有字符串的变量来识别另一个变量?
- css - 使用整个窗口的“scroll-snap-type”示例?
- tensorflow - 在python中提取每层transformer的每个token的注意力权重