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