首页 > 解决方案 > 使用 Auth0 访问用户管理 API 和 SPA 的自定义 API

问题描述

我正在构建一个 SPA,它必须直接访问用户管理 API,还需要授权自定义 API。

我使用的库是 auth0-js。

根据文档,如果我想访问用户管理 API,我必须首先通过到达/authorizeauth0 提供的端点获取 accessToken。

此外,我必须为此提供一个特定的字符串作为audience参数。

如果我想授权额外的自定义 API,我必须/authorize通过提供一组不同的参数(包括audience获取不同的访问令牌)再次到达端点。

有什么简单的方法可以让我/authorize一次性输入端点并获得一个既可用于用户管理 API 又可用于我的自定义 API 的访问令牌?谢谢...

标签: javascriptreactjsauth0

解决方案


您不应通过 SPA 中使用的隐式授权流获取Management APIv2的访问令牌。仅应使用授权的非交互式应用程序/客户端来获取管理 APIv2 访问令牌,并且应从安全服务器而不是浏览器发起请求。这是接收 API 安全令牌的推荐方法。你可以在这里阅读这方面的指南。

您可以使用您自己的服务器使用客户端凭据授予获取管理 APIv2 令牌,或者根据用例,通过 Auth0 规则(在用户身份验证后运行)请求它并在安全的 Webtask 容器中调用管理 APIv2 端点。你可以在这里阅读更多。


推荐阅读