From fe160531f478178d159de6daec63966219433438 Mon Sep 17 00:00:00 2001 From: Jackson Kwok Date: Tue, 24 May 2022 16:22:08 -0400 Subject: [PATCH] fix: allow client_credentials token if username and password not specified --- src/keycloak/keycloak_admin.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/keycloak/keycloak_admin.py b/src/keycloak/keycloak_admin.py index ffc3cde..b3336e3 100644 --- a/src/keycloak/keycloak_admin.py +++ b/src/keycloak/keycloak_admin.py @@ -2566,13 +2566,15 @@ class KeycloakAdmin: custom_headers=self.custom_headers, ) - grant_type = ["password"] + grant_type = [] if self.client_secret_key: - grant_type = ["client_credentials"] if self.user_realm_name: self.realm_name = self.user_realm_name + grant_type.append("client_credentials") + elif self.username and self.password: + grant_type.append("password") - if self.username and self.password: + if grant_type: self.token = self.keycloak_openid.token( self.username, self.password, grant_type=grant_type, totp=self.totp )