在 Auth0 中自定义 API 有什么好处?

What is the advantage of a custom API in Auth0?

问题

我在理解 auth0 的一些基本知识时遇到了问题,可能有人可以帮助我。

在教程中 SPA + API TDLR 的第一行是这样的:

Both the SPA and the API must be configured in the Auth0 Dashboard

我不明白为什么我需要在 Auth0 上配置 API。我的代码似乎有效,所以任何人都可以帮助我了解我是否做错了什么,或者如果我实际上在我的仪表板中添加自定义 API 有什么好处?

设置

我做什么

问得好,我现在假设您的身份验证请求包括代表您的自定义 API(Rest API) 的受众参数。在 oauth2 术语中,它称为资源服务器。每个资源服务器都可以有许多权限,您在发起身份验证请求时将这些权限包含在范围内。让我们退一步谈谈令牌格式。 Auth0 以两种格式颁发令牌:

  • 不透明字符串:不使用自定义字符串时 API
  • JSON Web 令牌 (JWT):使用自定义时 API

https://auth0.com/docs/tokens/reference/access-token/access-token-formats#how-does-all-this-affect-the-token-format-

如上所述 link,令牌格式取决于受众(自定义 API)参数。因此,当身份验证请求包含受众时,auth0 会颁发具有所有必要权限的 JWT 令牌。然后,在将资源返回给前端客户端之前,您需要在 API 服务器中验证 JWT 令牌。

为什么需要在 auth0 中创建自定义 API 并定义权限应该是有道理的。如果您不在 auth0 中创建自定义 API,则无法知道您在令牌中需要什么样的权限,这将产生错误(指定的受众无效)