如何使用Python从Auth0获取用户列表和总数

问题描述 投票:0回答:2

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

python auth0
2个回答
0
投票
启用测试应用程序并在此处授予读取权限后,

sydadder 代码可以工作: Auth0 仪表板 / 应用程序 / API / 机器对机器应用程序 / Auth0 管理 API(测试应用程序)(通过单击向下箭头展开)

无需调整权限,我得到:

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

再加上将“eu.auth0.com”更改为适当的 Auth0 区域。


0
投票

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

Auth0文档获取token

我写了一篇文章这里

要使用的代码...

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
© www.soinside.com 2019 - 2024. All rights reserved.