Authentication 如何在Netlify Identity上存储自定义用户数据?

Authentication 如何在Netlify Identity上存储自定义用户数据?,authentication,netlify,Authentication,Netlify,在过去的三个月里,我一直在使用Netlify存储我的应用程序的100%(前端和后端)。到目前为止,一切顺利 现在唯一的问题是我需要为每个用户存储一个自定义属性(比如电话号码),显然Netlify Identity不支持这一点(仅支持电子邮件、姓名和角色) 我不想为了这个细节而将整个应用程序迁移到另一个主机提供商(实际上,我不能,这是为了一个客户,我只是没有时间),因为它工作得很好,但同时我需要它 你能想出解决这个问题的办法吗?“黑客”越少越好,但我知道我已经超出了Netlify Identity

在过去的三个月里,我一直在使用Netlify存储我的应用程序的100%(前端和后端)。到目前为止,一切顺利

现在唯一的问题是我需要为每个用户存储一个自定义属性(比如电话号码),显然Netlify Identity不支持这一点(仅支持电子邮件、姓名和角色)

我不想为了这个细节而将整个应用程序迁移到另一个主机提供商(实际上,我不能,这是为了一个客户,我只是没有时间),因为它工作得很好,但同时我需要它


你能想出解决这个问题的办法吗?“黑客”越少越好,但我知道我已经超出了Netlify Identity的预期用途。

有几十种方法可以做到这一点,因此我现在将讨论两种普遍适用的方法:

  • 最“通用”的可能是使用lambda函数:。这使您可以运行动态代码,例如“存储到其他地方托管的数据库”或“通过电子邮件发送给我们的办公室经理以更新电子表格”,甚至“提交到我们关闭的git回购,以便在代码中可用”(最后一个可能是最糟糕的做法,但也是可能的)。类似地,您可以使用函数将数据读回,而无需公开API标记(代码示例:)

  • 您可以通过表单提交()收集数据。我可能会使用zapier.com接收表单提交通知()。Zapier当然可以连接到地球上的任何东西:)。如果您想在UI中显示数据,那么将其取回是一个更大的挑战,但是如果您需要连接到某个私有数据存储以将其取出,则可以使用上述功能。或者对于MVP,只是不显示它,只让人们输入/更新它;)


因此,看起来Netlify的GoTrue API确实有一个用于更新自定义用户数据的特定端点。创建用户后,可以通过将元数据作为“数据”包含在对/user的经过身份验证的PUT请求中来更新元数据

PUT/user

{
  "data" {
    "custom_key": "value",
  }
}

有关更多信息,请参阅。

有关如何将netlify用户与FuanaDB中的数据存储匹配的提示?我想我可以对经过身份验证的用户使用netlify函数,但这些信息不在这里有多有趣: