Skip to main content

async keycloak admin api wrapper

Project description

What is keycloak_admin_aio?

This package provides an asynchronous api wrapper for the keycloak admin api.

The main dependencies are:

  • httpx: asynchronous http client

  • dacite: parse nested dictionaries into nested dataclasses

Links:

How to install?

poetry add keycloak-admin-aio

How to use it?

import asyncio
from keycloak_admin_aio import KeycloakAdmin

server_url = "http://localhost:8080/auth"
client_id = "admin-cli"  # used by default
realm = "master"  # used by default

With administrator username and password:

keycloak_admin_args = {
    "server_url": server_url,
    "client_id": client_id,
    "realm": realm,
    "username": "admin",
    "password": "password123",
}

async def main():
    async with KeycloakAdmin.with_password(**keycloak_admin_args) as kc:
        users = await kc.users.get(email="@google")
        await asyncio.gather(
            *[
                kc.users.by_id(user.id).execute_actions_email.send_email(
                    ["UPDATE_PASSWORD"]
                )
                for user in users
            ]
        )

asyncio.run(main())

With client credentials:

keycloak_admin_args = {
    "realm": realm,
    "server_url": server_url,
    "client_id": client_id,
    "client_secret": "the_secret",
}

async def main():
    async with KeycloakAdmin.with_client_credentials(**keycloak_admin_args) as kc:
        ...

asyncio.run(main())

License

Apache License, Version 2.0

© Copyright 2023, Nicklas Sedlock

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

keycloak_admin_aio-1.3.4.tar.gz (21.9 kB view hashes)

Uploaded Source

Built Distribution

keycloak_admin_aio-1.3.4-py3-none-any.whl (50.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page