【问题标题】:Python Auth0 - example script not authorizedPython Auth0 - 示例脚本未授权
【发布时间】:2018-12-05 01:02:32
【问题描述】:

需要枚举用户,我正在使用位于此处的 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,我在 .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。

【问题讨论】:

  • https .... 在 chrome-browser 中你需要一个完全合格的证书链 - 不知道 Auth0 ,如果你的令牌是有效的,可能错误发生得更早,因为你没有完全信任链? 戳迷雾
  • 这是在 API 中,而不是在浏览器中。 get_token 恢复正常,错误显然是 Auth0 缺少授权,但不知道那是什么。
  • 看起来潜在的错误是 . . . . ```“客户端不允许授予类型'client-credentials'。” ``` 不确定如何在 Auth0 端解决这个问题,如果需要的话?

标签: python auth0


【解决方案1】:

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

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

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

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

【讨论】:

  • 谢谢!是的,我们正在与之交谈的应用程序和管理 API 之间存在混淆。
猜你喜欢
  • 2016-12-17
  • 2017-06-12
  • 2019-02-20
  • 2020-09-28
  • 1970-01-01
  • 2017-01-24
  • 2017-06-08
  • 2018-10-25
  • 1970-01-01
相关资源
最近更新 更多