javascript - 使用 Auth0 访问用户管理 API 和 SPA 的自定义 API
问题描述
我正在构建一个 SPA,它必须直接访问用户管理 API,还需要授权自定义 API。
我使用的库是 auth0-js。
根据文档,如果我想访问用户管理 API,我必须首先通过到达/authorize
auth0 提供的端点获取 accessToken。
此外,我必须为此提供一个特定的字符串作为audience
参数。
如果我想授权额外的自定义 API,我必须/authorize
通过提供一组不同的参数(包括audience
获取不同的访问令牌)再次到达端点。
有什么简单的方法可以让我/authorize
一次性输入端点并获得一个既可用于用户管理 API 又可用于我的自定义 API 的访问令牌?谢谢...
解决方案
您不应通过 SPA 中使用的隐式授权流获取Management APIv2的访问令牌。仅应使用授权的非交互式应用程序/客户端来获取管理 APIv2 访问令牌,并且应从安全服务器而不是浏览器发起请求。这是接收 API 安全令牌的推荐方法。你可以在这里阅读这方面的指南。
您可以使用您自己的服务器使用客户端凭据授予获取管理 APIv2 令牌,或者根据用例,通过 Auth0 规则(在用户身份验证后运行)请求它并在安全的 Webtask 容器中调用管理 APIv2 端点。你可以在这里阅读更多。
推荐阅读
- javascript - 定义变量时的意外行为
- mysql - 如何按时间分组,如果mysql中没有数据计数为零?
- pdf - 如何在 puppeteer 中将多个 pdf 合并为一个 pdf?
- laravel - 我想验证数据库 laravel 8 中是否不存在数据
- android - 将硬编码字符串转换为字符串资源
- c# - 获取字典列表中的值计数
- python - 如何使用字符串布尔表达式过滤列表
- logging - YII2 日志目标不检查日志的类别并保存任何类别日志
- electron - 如何向电子更新程序提供私有 s3 存储桶凭据
- javascript - 如何在 ReactTextareaAutocomplete 中使用道具传递自定义 TextareaAutosize 组件?