gpt4 book ai didi

javascript - 如何在 Auth0 中存储用户全名而不是电子邮件地址?

转载 作者:行者123 更新时间:2023-11-29 19:07:48 28 4
gpt4 key购买 nike

概览

当用户使用外部授权提供商(例如 Google 或 Facebook)注册我们的服务时,用户名将按照您的预期存储在 Auth0“名称”字段中。但是,当用户使用他们的电子邮件地址注册时,他们的电子邮件地址会存储在“姓名”字段中。

我们希望用户的真实姓名始终出现在“名称”字段中,以便于与其他第 3 方服务集成。

研究

来自文档:https://auth0.com/docs/metadata

Auth0 allows you to store metadata, or data related to each user that has not come from the identity provider. There are two kinds of metadata:

user_metadata: stores user attributes (such as user preferences) that do not impact a user's core functionality; app_metadata: stores information (such as a user's support plan, security roles, or access control groups) that can impact a user's core functionality, such as how an application functions or what the user can access.

因此,我们可以将用户名存储在元数据中,然后在 Auth0 返回配置文件时检索它。这并不理想,因为它增加了不必要的复杂性。

来自官方论坛的一个问题: https://auth0.com/forum/t/editing-user-name/2944

用户问:

If I'm storing users in Auth0's database, is it really not possible to set their real-world names? It seems like it only accepts email address.

并得到响应:

It's possible to store this or any other information under app_metadata or user_metadata. You can modify this information through the dashboard, rules or the API: https://auth0.com/docs/api/management/v2#!/Users/patch_users_by_id

基本上,文档或论坛上似乎没有任何地方可以解决这个问题。

我们最终想出了一种方法,可以让用户的真实姓名与用户个人资料一起返回。如果遇到此问题,我已将答案发布在这里,让其他开发者的生活更轻松一些。

最佳答案

解决方案

基本上,如果您将“名称”属性添加到用户的 app_metadata,那么 Auth0 将使用该值作为用户的名称,无论是在仪表板上还是在通过 GET 请求返回用户的个人资料时。

示例 JSON:

 "app_metadata": {  
"name": "Sam Murray",
// Any other properties that you want to store

}

关于javascript - 如何在 Auth0 中存储用户全名而不是电子邮件地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41524802/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com