代码之家  ›  专栏  ›  技术社区  ›  Ray Toal

GAE user_id作为数据存储密钥的安全问题

  •  0
  • Ray Toal  · 技术社区  · 7 年前

    众所周知,在谷歌云数据存储中强制执行唯一属性的唯一可靠方法是通过密钥属性。假设我们正在构建一个Google AppEngine(GAE)应用程序,使用Google Users API对用户进行身份验证,我们想创建一种称为Profile的应用程序。每个用户只能有一个配置文件。为了实现这种唯一性,将用户对象id存储为键属性是有意义的,对吗?事实上 Google App Engine User API documentation

    在数据存储中使用用户值

    用户ID稳定;您可以在键名或字符串属性中使用它。因此,在使用用户值时,您希望存储用户ID

    但是假设我们的应用程序需要在浏览器中显示指向这些用户配置文件的超链接。是否适合使用 user.user_id() 一串用户id不应该被视为敏感信息吗?一个人的谷歌账户用户名在所有谷歌应用程序中都是相同的。泄漏到浏览器似乎不太正确,但我在GAE文档中找不到任何禁止(除非我遗漏了什么)。

    现在 如果 用户id不应该泄露给客户端,它应该被散列吗?或者有没有其他方法来设计一种谷歌用户id应该是唯一的?

    当前用户 例如,在经过身份验证的端点中。问题在于它是否可以暴露给浏览器(感觉不对),如果不能,通常如何处理资源(如博客帖子)的所有者(应用程序用户)需要在应用程序中可见的情况。

    1 回复  |  直到 4 年前
        1
  •  2
  •   Prisoner    7 年前

    谷歌安全似乎可以通过浏览器公开。

    谷歌+在显示用户个人资料时会在URL中使用它,并将其作为其帖子URL的一部分。