需要枚举用户,我正在使用位于此处的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。
答案 0 :(得分:1)
SDK通过使用non_interactive_client_id
作为客户端ID的客户端证书授予来使用Management API。
您看到的错误是Auth0,告诉您 特定客户端ID未经授权可以使用该API。
管理API是一种资源,您可以在Auth0仪表板的“ API”下找到该资源(不确定,但是还有一个深层链接,例如manage.auth0.com/#/apis/management
)。在其中有一个选项卡,其中应显示“非交互式客户端”之类的名称,您将在其中看到所有客户端的列表,并进行切换以授予他们对API的访问权限。
在授予对API(以及所需范围)的访问权限后,您的操作应该可以正常工作。