Python SDK 3.2.2
Using client credentials to authenticate a python script that will update user profile attributes. Authentication is working fine, and mgmt API access is working fine in general. tenants.get()
, clients.get()
return the expected results, but users.get()
returns 400: Bad Request
. The client is authorized for read:users*
.
from os import environ as env, path
from dotenv import load_dotenv
from auth0.v3.authentication import GetToken
from auth0.v3.management import Auth0
from auth0.v3.exceptions import Auth0Error
import constants
load_dotenv(path.join(path.dirname(__file__), ".env"))
AUTH0_CALLBACK_URL = env[constants.AUTH0_CALLBACK_URL]
AUTH0_CLIENT_ID = env[constants.AUTH0_CLIENT_ID]
AUTH0_CLIENT_SECRET = env[constants.AUTH0_CLIENT_SECRET]
AUTH0_DOMAIN = env[constants.AUTH0_DOMAIN]
MGMT_API_URL = 'https://'+AUTH0_DOMAIN+'/api/v2/'
def main():
"""main"""
get_token = GetToken(AUTH0_DOMAIN)
token = get_token.client_credentials(AUTH0_CLIENT_ID, AUTH0_CLIENT_SECRET, MGMT_API_URL)
mgmt_api_token = token['access_token']
auth0 = Auth0(AUTH0_DOMAIN, mgmt_api_token)
print(auth0.tenants.get()) # THIS WORKS
with open('user_ids.txt', 'r') as user_ids:
for user_id in user_ids:
try:
user = auth0.users.get(user_id) # 400: Bad Request
except Auth0Error as auth0error:
print(auth0error)