Skip to content

Peter-Slump/python-keycloak-client

 
 

Repository files navigation

Python Keycloak Client

Build Status Documentation Status codecov Maintainability License Version Wheel

Python Client for Keycloak identity and access management service

Documentation

http://www.keycloak.org/

https://github.com/Peter-Slump/python-keycloak-client

Development

Install development environment:

$ make install-python

Writing docs

Documentation is written using Sphinx and maintained in the docs folder.

To make it easy to write docs Docker support is available.

First build the Docker container:

$ docker build . -f DockerfileDocs -t python-keycloak-client-docs

Run the container

$ docker run -v `pwd`:/src --rm -t -i -p 8050:8050 python-keycloak-client-docs

Go in the browser to http://localhost:8050 and view the documentation which get refreshed and updated on every update in the documentation source.

Create release

$ git checkout master
$ git pull
-- Update release notes --
$ bumpversion release
$ make deploy-pypi
$ bumpversion --no-tag patch
$ git push origin master --tags

Release Notes

unreleased

Credits: phala:

  • Extracted basic CRUD logic from entities into common superclass KeycloakAdminEntity.

    • Entity parameters are available directly (e.g entity.id, entity.serviceAccountsEnabled).
    • Entity is fetched lazily when needed.
    • Update request shouldn't change unique identifiers, that will make the object not work anymore.
    • Update method doesn't transform snail_case into camelCase.
  • Added more methods to ClientRoles, Realms and Clients collections.

  • Added Token class which represents refreshable Token.

    • Token is now returned by most method in KeycloakOpenIDConnect class.
    • Token is automatically refreshed when set up as authentication header.
  • Removed some called_only_once checks because they didn't make sense anymore.

v0.2.3

  • Bug fix: client_class on KeycloakRealm constructor (thanks to pcaro)

  • Improve Keycloak Client (thanks to ByJacob)

    • add delete in admin client
    • add manage groups in realm
    • add manage user roles
    • rename Roles to ClientRoles

v0.2.2

  • Added support for UMA1 for Keycloak < 4.0
  • Allow to query registered users (thanks to aberres)

v0.2.1

  • Including aio version in released package. (thanks to mackeyja92)

v0.2.0

  • Added async client based on aiohttp (thanks to nkoshell)

v0.1.4

  • Add support for password grant (thanks to scranen)
  • Bugfix: Prevent multiple values for keyword argument 'audience' in jwt.decode() (thanks to eugenejo)

About

Python Client for Keycloak identity and access management service

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors