keycloak-rest-services
Services surrounding Keycloak, that use the REST API to read/update state.
Running Tests
The tests run automatically in CircleCI, but for those that want to run them locally, there is a way.
First, build and load the local python environment:
./setupenv.sh
. env/bin/activate
Then, start instances of Keycloak, LDAP, and RabbitMQ in other terminals:
./resources/start-keycloak.sh
./resources/start-ldap.sh
./resources/start-rabbitmq.sh
Keycloak may take a minute to start. If it does not, check your network settings, as it does not play well with VPNs and other more exotic network situations.
Finally, run the tests:
source ./resources/pytest-env.sh
pytest
Getting Test Coverage
If you want a coverage report, instead of running pytest directly, run it under the coverage tool:
keycloak_url=http://localhost:8080 username=admin password=admin coverage run -m pytest
coverage html --include='krs*'
Manually Running Scripts
It is possible to manually run all of the basic operations for controlling users and groups.
-
Bootstrap Keycloak
If you do not already have a Keycloak instance, start a test instance as shown above. Then, run the bootstrap script to create a realm and the REST service account:
keycloak_url=http://localhost:8080 username=admin password=admin realm=test python3 -m krs.bootstrap
Save the
client_secretthat gets printed, as you will need this. -
User and group actions
Now you can actually run the scripts, which take the format:
keycloak_url=http://localhost:8080 client_id=rest-access client_secret=<SECRET> realm=test python -m krs.<SCRIPT> <ARGS>
As an example, to list all groups:
keycloak_url=http://localhost:8080 client_id=rest-access client_secret=<SECRET> realm=test python -m krs.groups list
Metadata
Release files for wipac-keycloak-rest-services 1.4.19
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| wipac-keycloak-rest-services-1.4.19.tar.gz | 25.0 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| wipac_keycloak_rest_services-1.4.19-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 53.1 kB
Release files / wipac-keycloak-rest-services-1.4.19.tar.gz
| Download URL | wipac-keycloak-rest-services-1.4.19.tar.gz |
|---|---|
| Size | 25.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7e5f707fc848b39bb609f6ad3dcb4ecfae17dbc2491c5a9cc3bc6f2796e67d8c
|
|
BLAKE2b-256 checksum How to use checksums |
3e977cf843e05d8023b25e61731afb04dca19bd013b95d4f2e77db180d511736
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 pkginfo/1.9.6 readme-renderer/40.0 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.4 tqdm/4.65.0 importlib-metadata/6.8.0 keyring/24.2.0 rfc3986/2.0.0 colorama/0.4.6 CPython/3.10.12
|
Release files / wipac_keycloak_rest_services-1.4.19-py3-none-any.whl
| Download URL | wipac_keycloak_rest_services-1.4.19-py3-none-any.whl |
|---|---|
| Size | 28.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e7561638fddc8bacfcdd530327ff029745fa9150e829b909bda7dad0f096db84
|
|
BLAKE2b-256 checksum How to use checksums |
5ec557ba09cdc8fde4d3cb089399254bf9e9ca13fb95a6982bafd5556fc36c83
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 pkginfo/1.9.6 readme-renderer/40.0 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.4 tqdm/4.65.0 importlib-metadata/6.8.0 keyring/24.2.0 rfc3986/2.0.0 colorama/0.4.6 CPython/3.10.12
|
Security for wipac-keycloak-rest-services 1.4.19
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.