【问题标题】:How to update user in auth0 with react?如何用反应更新 auth0 中的用户?
【发布时间】:2018-03-29 01:31:48
【问题描述】:

这是我可以从用户那里获得的:

email_verified
family_name
given_name
name
nickname
picture
sub
updated_at

api 需要一个 id /api/v2/users/{id}。我尝试使用 sub 但它不起作用。如何访问用户 ID?或者我还要传递什么?

【问题讨论】:

  • 如果我使用锁定小部件创建用户怎么办?我如何访问他们的 id ,如果没有,我如何更新他们的信息?
  • 所以即使你注册了也没有创建用户?
  • “注册”是什么意思。用户已经在 Facebook 等社交平台上注册。他在您的应用程序上使用此 facebook 帐户来验证他是他而不是其他人。您在任何时候都不会自己创建用户。您希望将这些用户保留在哪里?然后你需要一个后端来存储用户信息。
  • 在小部件上是一个注册标签。就像不使用社交的东西一样。我用它创建了一个带有电子邮件和密码的帐户。并且可以使用这些凭据登录。

标签: reactjs auth0


【解决方案1】:

通过发布到/api/v2/users 创建用户时,响应包含user_id 作为字段。你得到的回应看起来例如像这样:

{
  "email": "john.doe@gmail.com",
  "email_verified": false,
  "username": "johndoe",
  "phone_number": "+199999999999999",
  "phone_verified": false,
  "user_id": "usr_5457edea1b8f33391a000004", <-- this is the user id
  "created_at": "",
  "updated_at": "",
  "identities": [
    {
      "connection": "Initial-Connection",
      "user_id": "5457edea1b8f22891a000004",
      "provider": "auth0",
      "isSocial": false
    }
  ],
  "app_metadata": {},
  "user_metadata": {},
  "picture": "",
  "name": "",
  "nickname": "",
  "multifactor": [
    ""
  ],
  "last_ip": "",
  "last_login": "",
  "logins_count": 0,
  "blocked": false,
  "given_name": "",
  "family_name": ""
}

您需要该 ID 才能通过 /api/v2/users/{id} 请求用户数据。

如果您没有user_id,您可以尝试通过/api/v2/users-by-email 端点获取它。根据您的问题,您所拥有的信息是不够的。其他信息怎么了?

编辑

如果我使用锁定小部件来创建用户怎么办?我怎样才能访问 他们的 id ,如果不是,我该如何更新他们的信息?

您无法使用锁定小部件创建用户。用户在 facebook 或 google 等社交平台上注册。锁定小部件仅通过该平台对它们进行身份验证,任何为您提供有关它们的一些信息,您当然无法编辑,因为您不拥有该数据

【讨论】:

  • 我不知道,我在这里使用这个教程:auth0.com/docs/quickstart/spa/react/02-user-profile,这就是我得到的数据。使用 SPA 有什么不同吗?
  • @TaylorAustin 查看我的更新答案。您可以在您的应用程序中使用该数据,但您无法编辑它,因为您不拥有该数据。此数据来自用户已通过身份验证的社交平台。
  • 所以我无论如何都不能添加要存储在该帐户中的信息?还是我需要像 mongodb 一样附加?并以某种方式存储该用户?
  • 因为在锁定小部件期间有一个注册。我猜它只是为 Auth0 创建一个用户,但我不确定它是如何工作的。
猜你喜欢
  • 2020-01-25
  • 2015-12-30
  • 1970-01-01
  • 1970-01-01
  • 2019-11-20
  • 2023-02-09
  • 1970-01-01
  • 2017-11-28
  • 2021-11-02
相关资源
最近更新 更多