首页 > 解决方案 > 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。

标签: pythonauth0

解决方案


SDK 正在通过客户端凭据授权使用管理 API,并将non_interactive_client_id用作客户端 ID。

您看到的错误是 Auth0 告诉您该特定客户端 ID 无权使用 API。

Management API 是您可以在“API”下的 Auth0 仪表板中找到的资源(不确定,但也有一个深层链接,例如manage.auth0.com/#/apis/management)。那里有一个选项卡,应该显示类似“非交互式客户端”的内容,您将在其中看到所有客户端的列表并切换以授予他们对 API 的访问权限。

在授予对 API(以及所需范围)的访问权限后,您的操作应该可以工作。


推荐阅读