返回

确保仅允许高强度完整性设备访问AppCheck保护资源

Android

通过AppCheck保护资源:确保仅允许“高强度完整性”设备访问

导言

AppCheck是Firebase提供的一项服务,可帮助保护你的后端资源免受未经授权的访问。但是,即使在实现了AppCheck之后,你可能会遇到非“高强度完整性”设备仍可以通过AppCheck令牌访问受保护资源的情况。本文旨在帮助你解决此问题,确保仅允许满足“高强度完整性”的设备访问你的受保护资源。

步骤 1:检查设置

Firebase和Google Cloud设置

  • 确认你在Firebase控制台中已启用AppCheck。
  • 在Google Cloud控制台中,检查你用于资源保护的Service Account是否有“AppCheck管理员”角色。

Play Integrity设置

  • 在Play Integrity设置中,确认已选中“要求高强度完整性”。
  • 确保测试设备已安装Google Play服务,并且已启用Play Integrity。

步骤 2:验证设备级别配置

  • 使用Simple Play Integrity Checker应用程序或其他方法,验证测试设备是否仅满足“基本完整性”。
  • 如果设备满足“基本完整性”,请尝试重新安装测试应用或从Play商店更新它。

步骤 3:排除其他因素

  • 确认令牌获取逻辑在应用程序中正确实现。
  • 检查网络配置是否未绕过AppCheck保护,例如通过代理或VPN。

步骤 4:客户端SDK版本

  • 确保你使用的是最新版本的Firebase客户端SDK。过时的版本可能无法正确实施“高强度完整性”检查。

步骤 5:详细日志记录

  • 在Firebase控制台中启用AppCheck详细日志记录。
  • 通过Cloud Logging或其他日志记录工具查看日志,以查找有关错误或警告的更多信息。

步骤 6:联系Google支持

  • 如果以上步骤无法解决问题,请联系Google支持。提供详细的错误消息和配置信息,以帮助他们诊断问题。

结论

通过遵循这些步骤,你可以确保仅允许满足“高强度完整性”的设备访问受AppCheck保护的资源。这将帮助你防止未经授权的访问,并确保应用程序的安全。

常见问题解答

  1. 为什么我仍然收到未通过“高强度完整性”的设备的AppCheck令牌?

    • 检查你的AppCheck设置是否正确配置,并且设备已启用Play Integrity。
  2. 如何验证设备是否满足“高强度完整性”?

    • 使用Simple Play Integrity Checker应用程序或其他方法进行验证。
  3. 如何启用AppCheck详细日志记录?

    • 在Firebase控制台中,导航到“AppCheck”部分并启用“详细日志记录”。
  4. 如果我仍然遇到问题,应该怎么办?

    • 联系Google支持,提供详细的错误消息和配置信息。
  5. 我应该使用什么版本的Firebase客户端SDK?

    • 始终使用最新版本的Firebase客户端SDK,以确保“高强度完整性”检查的正确实现。