python - Python Auth0 - 示例脚本未授权
问题描述
需要枚举用户,我使用的是位于此处的 auth0 客户端 - https://github.com/auth0/auth0-python。
我已经设置了一个示例应用程序,并确保它具有客户端凭据授予类型。通过示例,尝试运行以下 . . . .
get_token = GetToken(domain)
token = get_token.client_credentials(non_interactive_client_id,
non_interactive_client_secret, 'https://{}/api/v2/'.format(domain))
mgmt_api_token = token['access_token']
auth0 = Auth0(domain, mgmt_api_token)
conns = auth0.connections.all()
return conns
但是在 .client_credentials,我失败了。..
auth0.v3.exceptions.Auth0Error: 403: Client is not authorized to access "https://MY_DOMAIN/api/v2/". You might probably want to create a "client-grant" associated to this API.
有一个与错误相关的文档,但它是 404。
解决方案
SDK 正在通过客户端凭据授权使用管理 API,并将non_interactive_client_id
用作客户端 ID。
您看到的错误是 Auth0 告诉您该特定客户端 ID 无权使用 API。
Management API 是您可以在“API”下的 Auth0 仪表板中找到的资源(不确定,但也有一个深层链接,例如manage.auth0.com/#/apis/management
)。那里有一个选项卡,应该显示类似“非交互式客户端”的内容,您将在其中看到所有客户端的列表并切换以授予他们对 API 的访问权限。
在授予对 API(以及所需范围)的访问权限后,您的操作应该可以工作。
推荐阅读
- python - ModuleNotFoundError: No module named 'chefsBackEnd.wsgi' Django RF API 使用 Heroku 和 Gunicorn 部署
- python - 添加字典值,其中值是列表
- raspberry-pi - 使用 L293D(电机控制器)连接到 Raspberry Pi 的电机在过载时不运行
- flutter - 无法在颤振中添加包(仅在 mac 上)
- sql - 如何将此编码从 SQL Server 更改为在 PostgreSQL 中
- scala - 检查 org.apache.spark.sql.Row 的值
- java - 为什么我的代码不起作用(java netbeans)?
- terraform - Gitlab CI:一切成功运行后,terraform应用作业失败,退出代码为141
- julia - Julia 代码优化计算小数周期
- c# - Unity - 无法列出项目中的所有场景