【问题标题】:Integrating Auth0 into a Node & Express app将 Auth0 集成到 Node 和 Express 应用程序中
【发布时间】:2020-03-02 06:00:45
【问题描述】:

我将 Node 和 Express 用于移动应用 (Flutter) 的后端。

我希望所有面向客户端的身份验证 REST 都是 auth0,因为它们通常比我更好地处理攻击和安全性。

注册 -

  1. 客户端向 auth0 的服务器上的注册端点发送请求,除了现有字段之外还包含自定义字段。
  2. 身份验证成功后,auth0 将 s2s 发送到我服务器上的注册端点,其中包含注册数据以及包含身份验证数据的 JWT 令牌。
  3. Auth0 将从我服务器上的注册端点响应的数据合并到对客户端的响应中。

登录 - 基本上与注册相同,只是不需要接受来自客户端的自定义字段。

如果这样的流程是可能的,您能否请我参考相关文档或以其他方式帮助我了解如何? node/express 中的示例实现也将不胜感激。

【问题讨论】:

  • 如果您使用 Auth0 的锁(即 Auth0 托管的锁页面),您可以添加一个注册 webhook,它会在创建新用户时调用您的服务器 API。它不会发送 JWT,但您可以发送自定义密钥,然后您可以在 API 中检查该密钥。通过此设置,您可以在很大程度上实现所需的注册流程。
  • 对于登录,这可能完全发生在您的客户端应用程序和 Auth0 之间。 (然后您可以使用该用户的 Auth0 生成的 JWT 调用您的 API 以进行安全通信)。
  • 您指的自定义字段是什么?

标签: node.js express auth0


【解决方案1】:

正如 christian 在 cmets 中提到的,您可以使用 post reg web hook。此外,由于钩子不支持社交连接,您可以使用规则向您的服务器发送请求以在您的数据库中创建用户。您可以在用户的​​元数据中添加一个标志以确定此规则是否运行。

https://auth0.com/docs/hooks/concepts/post-user-registration-extensibility-point

这是另一种策略:https://community.auth0.com/t/distinguish-between-first-login-and-silent-auth/32986

让我知道这是否有意义。

【讨论】:

  • 感谢您的信息。由于我在前端使用flutter,而您没有支持它的SDK,我在哪里可以找到我的应用程序的公共API,以便我自己提出请求?例如,我找不到注册端点。
猜你喜欢
  • 2018-09-02
  • 1970-01-01
  • 2022-01-09
  • 2016-10-13
  • 2018-07-02
  • 2017-05-06
  • 2021-04-18
  • 2019-07-22
  • 2020-07-23
相关资源
最近更新 更多