【问题标题】:How to get List of users and total from Auth0 using Python如何使用 Python 从 Auth0 获取用户列表和总数
【发布时间】:2022-05-11 22:33:39
【问题描述】:

如何从 Auth0 帐户获取所有用户的列表,并使用 PYTHON 语言获取总数?

【问题讨论】:

    标签: python auth0


    【解决方案1】:

    Auth0 允许使用 API 令牌来获取数据。要获取包括总数在内的用户详细信息,您将需要 API 客户端密钥和 id。

    Auth0 document to get the token

    我写了一篇文章here

    要使用的代码...

    import http.client
    import json
    
    client_id = 'xxxxxxxxxxxxxxxxxxxx'
    client_secret = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
    business_name = 'xxxxxxxxx'
    
    # GET THE ACCESS TOKEN using the client_id and client_secret
    conn = http.client.HTTPSConnection(business_name+".eu.auth0.com")
    payload = "{\"client_id\":\""+client_id+"\",\"client_secret\":\""+client_secret+"\",\"audience\":\"https://"+business_name+".eu.auth0.com/api/v2/\",\"grant_type\":\"client_credentials\"}"
    headers = { 'content-type': "application/json" }
    conn.request("POST", "/oauth/token", payload, headers)
    res = conn.getresponse()
    data = res.read()
    tokendetails_json = data.decode('utf8').replace("'", '"')
    # Load the JSON to a Python list & dump it back out as formatted JSON
    tokendetails = json.loads(tokendetails_json)
    
    
    #NOW GET THE USERS AND TOTAL
    conn = http.client.HTTPSConnection(business_name+".eu.auth0.com")
    payload = "{\"client_id\":\""+client_id+"\",\"client_secret\":\""+client_secret+"\",\"audience\":\"https://"+business_name+".eu.auth0.com/api/v2/\",\"grant_type\":\"client_credentials\"}"
    headers = { 'content-type': "application/json","Authorization": "Bearer "+tokendetails['access_token'] }
    conn.request("GET", "/api/v2/users?include_totals=true", payload, headers)
    res = conn.getresponse()
    data = res.read()
    result_data_json = data.decode('utf8').replace("'", '"')
    
    # Load the JSON to a Python list & dump it back out as formatted JSON
    result_data = json.loads(result_data_json)
    print(result_data)                  # Json list of all users
    print(result_data['total'])         # Just the count of total users
    

    【讨论】:

      【解决方案2】:

      得到sydadder 代码在启用测试应用程序后工作,然后在此处授予读取权限: Auth0 仪表板/应用程序/API/机器对机器应用程序/Auth0 管理 API(测试应用程序)(通过单击向下箭头展开)

      没有调整我得到的权限:

      {'statusCode': 401, 'error': 'Unauthorized', 'message': 'Invalid token', 'attributes': {'error': 'Invalid token'}}
      

      另外将“eu.auth0.com”更改为相应的 Auth0 区域。

      【讨论】:

        猜你喜欢
        • 2017-01-12
        • 2021-06-13
        • 2018-08-01
        • 1970-01-01
        • 1970-01-01
        • 2020-08-31
        • 2019-09-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多