在 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 有什么好处?
设置
- SPA(反应)
- Auth0
- REST API (ktor)
我做什么
- 在 Auth0 上创建了 SPA
- 通过 Auth0 登录我的 SPA 以获得 JWT(google 令牌)
- 在我对 REST 的调用中将 JWT 作为身份验证载体发送 API
- REST API 使用 Auth0 url
mydomain.eu.auth0.com/.well-known/jwks.json
通过 JWK 提供程序验证 JWT 令牌。
- 身份验证似乎有效
问得好,我现在假设您的身份验证请求包括代表您的自定义 API(Rest API) 的受众参数。在 oauth2 术语中,它称为资源服务器。每个资源服务器都可以有许多权限,您在发起身份验证请求时将这些权限包含在范围内。让我们退一步谈谈令牌格式。 Auth0 以两种格式颁发令牌:
- 不透明字符串:不使用自定义字符串时 API
- JSON Web 令牌 (JWT):使用自定义时 API
如上所述 link,令牌格式取决于受众(自定义 API)参数。因此,当身份验证请求包含受众时,auth0 会颁发具有所有必要权限的 JWT 令牌。然后,在将资源返回给前端客户端之前,您需要在 API 服务器中验证 JWT 令牌。
为什么需要在 auth0 中创建自定义 API 并定义权限应该是有道理的。如果您不在 auth0 中创建自定义 API,则无法知道您在令牌中需要什么样的权限,这将产生错误(指定的受众无效)
问题
我在理解 auth0 的一些基本知识时遇到了问题,可能有人可以帮助我。
在教程中 SPA + API TDLR 的第一行是这样的:
Both the SPA and the API must be configured in the Auth0 Dashboard
我不明白为什么我需要在 Auth0 上配置 API。我的代码似乎有效,所以任何人都可以帮助我了解我是否做错了什么,或者如果我实际上在我的仪表板中添加自定义 API 有什么好处?
设置
- SPA(反应)
- Auth0
- REST API (ktor)
我做什么
- 在 Auth0 上创建了 SPA
- 通过 Auth0 登录我的 SPA 以获得 JWT(google 令牌)
- 在我对 REST 的调用中将 JWT 作为身份验证载体发送 API
- REST API 使用 Auth0 url
mydomain.eu.auth0.com/.well-known/jwks.json
通过 JWK 提供程序验证 JWT 令牌。 - 身份验证似乎有效
问得好,我现在假设您的身份验证请求包括代表您的自定义 API(Rest API) 的受众参数。在 oauth2 术语中,它称为资源服务器。每个资源服务器都可以有许多权限,您在发起身份验证请求时将这些权限包含在范围内。让我们退一步谈谈令牌格式。 Auth0 以两种格式颁发令牌:
- 不透明字符串:不使用自定义字符串时 API
- JSON Web 令牌 (JWT):使用自定义时 API
如上所述 link,令牌格式取决于受众(自定义 API)参数。因此,当身份验证请求包含受众时,auth0 会颁发具有所有必要权限的 JWT 令牌。然后,在将资源返回给前端客户端之前,您需要在 API 服务器中验证 JWT 令牌。
为什么需要在 auth0 中创建自定义 API 并定义权限应该是有道理的。如果您不在 auth0 中创建自定义 API,则无法知道您在令牌中需要什么样的权限,这将产生错误(指定的受众无效)