我正在编写一个模块,允许用户设置所有用户都可以查看的给定属性。这一切都发生在/ users网址上。
如果用户已登录且URL为/ users,则显示用户自己的个人资料 如果url为/ users / {id},则将使用该ID并将其用于查询数据库以获取该用户的参数。
我的问题是-使用用户uid作为id参数是否被认为是不好的做法?从本质上讲,这为用户数据提供了一个行ID。每个用户一开始就拥有的唯一其他参数是电子邮件地址,因此我不确定还有什么要做。
还有另一种最佳实践吗?
设置该我的收集规则,以便任何用户都可以读取记录,但任何用户只能编辑自己的个人资料。通过放弃该ID,我对该规则非常信任。
答案 0 :(得分:0)
我认为使用id并不是一个坏习惯。它可能不是SEO友好的,但不一定是不好的做法。
您必须记住,无论如何,记录ID在客户端都是可见的(假设您使用的是@ angular / fire库)。 配置Firestore安全规则以禁止一个用户更改另一用户的记录很重要。
如果您要建立一个用户也具有用户名(或@username)的社交网络,则可能要考虑使用用户名作为其ID,以便URL看起来像/users/@<username>
或{{1} },也可以创建一个从用户名转换为用户ID的集合,这是基于观察的更流行的解决方案。
我个人都做过,而且我不偏重于一个。