Firebase 身份验证日志 - GCP

Posted

技术标签:

【中文标题】Firebase 身份验证日志 - GCP【英文标题】:Firebase Auth Logs - GCP 【发布时间】:2019-05-14 17:23:11 【问题描述】:

是否可以检索有关用户何时登录或注销平台的日志?并将它们作为 Cloud Functions 日志发送到 stackdriver? 谢谢

【问题讨论】:

【参考方案1】:

您可以使用 REST API 为 Firebase 身份验证启用 Activity Logging。这些文档为 Firebase 身份验证和 Google Cloud Identity Platform 使用的 Identity Toolkit API (identitytoolkit.googleapis.com) 启用日志记录。

为您检索 REST 的身份验证令牌的一种更简单的方法 命令是让项目所有者使用 OAuthPlayground 并授权 这 Identity Toolkit API v3 范围

启用 Activity Logging 后,您将能够在 Google Cloud Logging (StackDriver) 中查看 these logged operations。现在您将能够看到成功和不成功的登录请求,例如SignInWithPassword 用于电子邮件+密码身份验证,SignInWithIdp 用于联合登录请求,例如 Google SignIn。查看特定用户请求的一种方法是,您可以过滤日志以仅包含特定的jsonPayload.response.email

注意:启用Activity Logging 将不会为项目启用 Google Cloud Identity Platform,因此您的项目将继续受制于Firebase Auth Billing 而不是@987654327 @。

需要注意的一点是,如果您有大量用户,或者您的项目有非常重要的活动,您可能还想specify exclusions 以最大限度地降低成本/流量/噪音。

【讨论】:

谢谢!无法理解从何处获取身份验证令牌,您的屏幕截图回答很有帮助。 这非常有用,应该是文档的一部分 从哪里获取 REST 请求的身份验证令牌以启用日志记录? 在 OAuthPlayground 中启用 Identity ToolKit API v3 范围后,点击“授权 API”按钮。这将打开一个 OAuth 同意屏幕,接受所有显示的内容。然后返回 OAuthPlayground UI,系统将提示您在第 2 步中选择“用于令牌的交换授权代码”按钮。选择第 2 步下拉列表后,将填充以 ya29. 开头的访问令牌,并在身份工具包 REST API 调用。 这应该是公认的答案【参考方案2】:

是否可以检索有关用户何时登录或注销平台的日志?

很遗憾,Firebase 不提供此类信息。为了解决这个问题,您应该创建自己的机制来跟踪用户的登录和注销。

【讨论】:

还是这样吗? Firebase Auth 登录是否至少限制了密码以防止暴力猜测密码? @justColbs 是的,情况仍然如此。 那么有人可以使用 Firebase Auth SDK 猜测密码 100 万次吗? 为了保护您的数据库,您可以使用Cloud Firestore Security Rules。

以上是关于Firebase 身份验证日志 - GCP的主要内容,如果未能解决你的问题,请参考以下文章

Xcode Firebase 身份验证不起作用

GCP身份验证:RefreshError

身份验证错误后的 Firebase 用户数据

向 GCP 进行身份验证的应用程序类型用户

如何调用使用 GCP 身份验证的 REST 服务?

反应本机 Firebase 身份验证错误