具有 Firebase 功能的 OAuth 2.0 流程

sir*_*_li 6 oauth-2.0 firebase google-cloud-functions

如何使用 Firebase Functions 成功连接到 OAuth 2.0 应用(例如:Alpaca)?我发现的最接近的是这个GCP 教程,但它不会保存访问令牌以供将来使用。

我如何能:

  1. 记住不同 Firestore 函数的状态(用于防止请求伪造攻击的随机字符串),以便我可以确定它是否未更改?
  2. 将访问令牌与授权我的用户关联(最好将令牌保存在 Firestore 中)?

是否有一个库可以通过 Firebase 函数为我完成所有这些工作?

sir*_*_li 2

我遵循了本指南中的很多说明。以下是我为后代提出的最初问题的答案:

  1. (记住状态)在客户端生成它并保存在某个地方(我使用localStorage)。将状态传递给 Firebase 函数,该函数生成您的授权 URL 并将其返回给客户端。
  2. (保存访问令牌)授权后,我重定向回客户端(而不是 Firebase 函数)。我从客户端解析身份验证代码并检查状态是否匹配。我将授权代码传递给 Firebase 函数来配置最终访问令牌的请求。由于我从客户端调用了该函数,context因此我可以访问告诉我uid与访问令牌关联的参数。