56 lines
2.1 KiB
Python
56 lines
2.1 KiB
Python
import urllib.request
|
|
import json
|
|
import ssl
|
|
|
|
def get_vertexdc_users_via_api():
|
|
api_url = "https://api.sibu.vertexdc.com"
|
|
# Admin credentials the user gave me
|
|
login_data = json.dumps({
|
|
"email": "admin@sibu.com",
|
|
"password": "admin",
|
|
"keep_session": True
|
|
}).encode('utf-8')
|
|
|
|
ctx = ssl.create_default_context()
|
|
ctx.check_hostname = False
|
|
ctx.verify_mode = ssl.CERT_NONE
|
|
|
|
print(f"Attempting login to {api_url}/api/auth/login...")
|
|
try:
|
|
req = urllib.request.Request(f"{api_url}/api/auth/login", data=login_data, headers={'Content-Type': 'application/json'})
|
|
with urllib.request.urlopen(req, context=ctx) as response:
|
|
token_data = json.loads(response.read().decode('utf-8'))
|
|
token = token_data.get("access_token")
|
|
print("Login successful!")
|
|
|
|
headers = {"Authorization": f"Bearer {token}"}
|
|
|
|
# Try different search terms to find users
|
|
search_terms = ["@", ".com", "admin", "promo", "usuario"]
|
|
all_users = {}
|
|
|
|
for term in search_terms:
|
|
print(f"Searching for users matching '{term}'...")
|
|
search_url = f"{api_url}/api/users/search?email={term}"
|
|
req_search = urllib.request.Request(search_url, headers=headers)
|
|
try:
|
|
with urllib.request.urlopen(req_search, context=ctx) as response:
|
|
users = json.loads(response.read().decode('utf-8'))
|
|
for u in users:
|
|
all_users[u['email']] = u
|
|
except Exception as e:
|
|
print(f"Search for '{term}' failed: {e}")
|
|
|
|
if all_users:
|
|
print(f"\n✅ Found {len(all_users)} users on VertexDC:")
|
|
for email, u in all_users.items():
|
|
print(f"- {u['full_name']} ({email}) [Role: {u['role']}]")
|
|
else:
|
|
print("\n❌ No users found via API search.")
|
|
|
|
except Exception as e:
|
|
print(f"Critical error: {e}")
|
|
|
|
if __name__ == "__main__":
|
|
get_vertexdc_users_via_api()
|