@@ -731,7 +731,7 @@ def get_permissions(self, token, method_token_info="introspect", **kwargs):
731731
732732 return list (set (permissions ))
733733
734- def uma_permissions (self , token , permissions = "" ):
734+ def uma_permissions (self , token , permissions = "" , ** extra_payload ):
735735 """Get UMA permissions by user token with requested permissions.
736736
737737 The token endpoint is used to retrieve UMA permissions from Keycloak. It can only be
@@ -743,6 +743,8 @@ def uma_permissions(self, token, permissions=""):
743743 :type token: str
744744 :param permissions: list of uma permissions list(resource:scope) requested by the user
745745 :type permissions: str
746+ :param extra_payload: Additional payload data
747+ :type extra_payload: dict
746748 :returns: Keycloak server response
747749 :rtype: dict
748750 """
@@ -754,6 +756,7 @@ def uma_permissions(self, token, permissions=""):
754756 "permission" : permission ,
755757 "response_mode" : "permissions" ,
756758 "audience" : self .client_id ,
759+ ** extra_payload ,
757760 }
758761
759762 orig_bearer = self .connection .headers .get ("Authorization" )
@@ -1394,7 +1397,7 @@ async def a_get_permissions(self, token, method_token_info="introspect", **kwarg
13941397
13951398 return list (set (permissions ))
13961399
1397- async def a_uma_permissions (self , token , permissions = "" ):
1400+ async def a_uma_permissions (self , token , permissions = "" , ** extra_payload ):
13981401 """Get UMA permissions by user token with requested permissions asynchronously.
13991402
14001403 The token endpoint is used to retrieve UMA permissions from Keycloak. It can only be
@@ -1406,6 +1409,8 @@ async def a_uma_permissions(self, token, permissions=""):
14061409 :type token: str
14071410 :param permissions: list of uma permissions list(resource:scope) requested by the user
14081411 :type permissions: str
1412+ :param extra_payload: Additional payload data
1413+ :type extra_payload: dict
14091414 :returns: Keycloak server response
14101415 :rtype: dict
14111416 """
@@ -1417,6 +1422,7 @@ async def a_uma_permissions(self, token, permissions=""):
14171422 "permission" : list (permission ), # httpx does not handle `set` correctly
14181423 "response_mode" : "permissions" ,
14191424 "audience" : self .client_id ,
1425+ ** extra_payload ,
14201426 }
14211427
14221428 orig_bearer = self .connection .headers .get ("Authorization" )
0 commit comments