Compare commits

..

4 Commits

Author SHA1 Message Date
c12ee79458 Enable a more safe mode of creation 2021-08-12 12:15:47 +02:00
d05d812189 Add sleep 2021-06-18 09:28:16 +02:00
4bef39c728 Add count stats 2021-06-18 09:26:37 +02:00
ad8aa8a5ba Wire up required actions correctly 2021-06-18 09:14:35 +02:00

View File

@ -6,6 +6,7 @@ import json
from os import environ
from os.path import exists
from pathlib import Path
from time import sleep
from keycloak import KeycloakAdmin
@ -42,6 +43,7 @@ with open("accounts.txt") as handle:
print(f"Parsed {emails} from accounts.txt")
keycloak = init_keycloak()
print(f"Current user account count: {keycloak.users_count()}")
for email in emails:
username = email.split("@")[0].strip()
@ -56,15 +58,17 @@ for email in emails:
"realmRoles": [
"user_default",
],
"requiredActions": ["UPDATE_PASSWORD", "UPDATE_PROFILE"],
}
print(f"payload: {payload}")
if not confirm():
print("Bailing out on request...")
exit(1)
try:
user_id = keycloak.create_user(payload, exist_ok=False)
user_id = keycloak.create_user(payload, exist_ok=True)
print(f"Account created for {email}")
keycloak.send_update_account(
user_id=user_id, payload=json.dumps(["UPDATE_PASSWORD", "UPDATE_PROFILE"])
)
print(f"UPDATE_PASSWORD/PROFILE actions set for {email}")
keycloak.send_verify_email(user_id=user_id)
print(f"Verification mail sent to {email}")
except Exception as exception:
@ -72,3 +76,8 @@ for email in emails:
if not confirm():
print("Bailing out on request...")
exit(1)
print("Sleeping one second to not overload the server...")
sleep(1)
print(f"Final user account count: {keycloak.users_count()}")