Skip to content

Instantly share code, notes, and snippets.

@babadofar
Created January 2, 2018 11:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save babadofar/5223a9fe5f75747462f09d0ebf067b27 to your computer and use it in GitHub Desktop.
Save babadofar/5223a9fe5f75747462f09d0ebf067b27 to your computer and use it in GitHub Desktop.
Delete users from Okta. Python
# Delete users from Okta.
# Keep users registred as administartors or in some other group.
# https://github.com/okta/okta-sdk-python
# https://developer.okta.com/docs/sdk/core/python_api_sdk/index.html
# pip install okta
from okta import UsersClient
from okta import UserGroupsClient
from okta.models.user import User
token = "secret_token"
oktaUrl = "https://...oktapreview.com"
usersClient = UsersClient(oktaUrl, token)
groupsClient = UserGroupsClient(oktaUrl, token)
trustedGroupId = 'trustedGroupId'
administrators = 'groupIdOfAdministrators'
keepusers = []
def handleUsers(users)
for user in users.result:
if user.id in keepusers:
print "Keeping this user " + user.profile.login
else:
print "Deleting user " + user.profile.login
usersClient.deactivate_user(user.id)
usersClient.delete_user(user.id)
#Add list of trusted users that we want to keep
for tr in [trustedGroupId, administrators]:
trustedUsers = groupsClient.get_group_users(tr)
for user in trustedUsers:
print "trusted" + user.id
keepusers.append(user.id)
users = usersClient.get_paged_users(limit=200)
handleUsers(users)
while not users.is_last_page():
users = usersClient.get_paged_users(url=users.next_url)
handleUsers(users)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment