forked fromkilork/keycloak
- Notifications
You must be signed in to change notification settings - Fork0
WallarooLabs/keycloak
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Dual-licensed underMIT
or theUNLICENSE.
ImplementsKeycloak Admin REST API version 26.1.0.
Default flags:tags-all
.
rc
: useArc
for deserialization.schemars
: addschemars support.tags-all
: activate all tags (resource groups) in REST API, it is default behavior. Disable default features and use individualtag-xxx
features to activate only required resource groups. For a full list reference theCargo.toml.
Requires Rust version >=1.74.0
.
Add dependency to Cargo.toml:
[dependencies]keycloak ="26.1"
use keycloak::{ types::*,{KeycloakAdmin,KeycloakAdminToken},};#[tokio::main]asyncfnmain() ->Result<(),Box<dyn std::error::Error>>{let url = std::env::var("KEYCLOAK_ADDR").unwrap_or_else(|_|"http://localhost:8080".into());let user = std::env::var("KEYCLOAK_USER").unwrap_or_else(|_|"admin".into());let password = std::env::var("KEYCLOAK_PASSWORD").unwrap_or_else(|_|"password".into());let client = reqwest::Client::new();let admin_token =KeycloakAdminToken::acquire(&url,&user,&password,&client).await?;eprintln!("{:?}", admin_token);let admin =KeycloakAdmin::new(&url, admin_token, client); admin.post(RealmRepresentation{realm:Some("test".into()), ..Default::default()}).await?; admin.realm_users_post("test",UserRepresentation{username:Some("user".into()), ..Default::default()},).await?;let users = admin.realm_users_get("test",None,None,None,None,None,None,None,None,None,None,None,None,None,None,).await?;eprintln!("{:?}", users);let id = users.iter().find(|u| u.username ==Some("user".into())).unwrap().id.as_ref().unwrap().to_string(); admin.realm_users_with_user_id_delete("test", id.as_str()).await?; admin.realm_delete("test").await?;Ok(())}
If we havex.y.z
version ofkeycloak
, our package version would bex.y.(z * 100 + v)
there v is a minorfix version to officialx.y.z
version.
Example: official version13.0.1
is13.0.100
for crate version.13.0.102
means keycloak version13.0.1
and minor fix version2
.
To update current version use providedupdate.tsdeno
script:
deno run --allow-env=KEYCLOAK_RUST_VERSION,KEYCLOAK_VERSION,KEYCLOAK_RUST_MAJOR_VERSION --allow-read=Cargo.toml --allow-write=Cargo.toml,api/openapi.json,src/types.rs,src/rest/generated_rest.rs --allow-net=keycloak.org,www.keycloak.org --allow-run=cargo,gh,git,handlebars-magic update.ts