You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

183 lines
7.4 KiB

  1. ## Unreleased
  2. ### BREAKING CHANGE
  3. - changes signatures significantly
  4. - Many attributes removed from the admin class
  5. - Changes the exchange token API
  6. - Renamed parameter client_name to client_id in get_client_id method
  7. - Renames `KeycloakOpenID.well_know` to `KeycloakOpenID.well_known`
  8. ### Feat
  9. - add more request
  10. - get_client_all_sessions now supports pagination
  11. - uma extra payload
  12. - user profile metadata parameter for get_user method
  13. - uma extra payload
  14. - add client scope client-specific role mappings (#605)
  15. - Add the max_retries parameter (#598)
  16. - add ability to remove composite client roles (#596)
  17. - add matchingUri support for listing resources with wildcards (#592)
  18. - allow the use of client certificates in all requests (#584)
  19. - functions for updating resource permissions and getting associated policies for a permission (#574)
  20. - Async feature (#566)
  21. - Merge pull request #556 from marcospereirampj/release/4.0.0
  22. - re-enable full group hierarchy fetching
  23. - allows retrieval of realm and client level roles for a user (#512)
  24. - add admin group count (#540)
  25. - Allow query parameters for group children (#534)
  26. - new docs.
  27. - new docs.
  28. - new docs.
  29. - new docs.
  30. - new docs.
  31. - new docs.
  32. - new docs.
  33. - Adding additional methods to support roles-by-id api calls Most of the methods rely on the role name within python keycloak, which for the vast majority is fine, however there are some role names which cannot be used by the API endpoint as they contain characters that cannot be encoded properly. Therefore this change is to allow the use of the role's id to get, update and delete roles by their id instead.'
  34. - realm changing helpers
  35. - add KeycloakAdmin.get_idp() (#478)
  36. - Update dynamic client using registration access token (#491)
  37. - add an optional search criteria to the get_realm_roles function (#504)
  38. - added KeycloakAdmin.update_client_authz_resource() (#462)
  39. - Implement missing admin method create_client_authz_scope_based_permission() and create_client_authz_policy() (#460)
  40. - Add query to get users group method and permit pagination (#444)
  41. - Add get and delete methods for client authz resources (#435)
  42. - Add UMA policy management and permission tickets (#426)
  43. - add initial access token support and policy delete method
  44. - implement cache clearing API (#414)
  45. - add Keycloak UMA client (#403)
  46. - Add Client Scopes of Client
  47. - update header if token is given
  48. - init KeycloakAdmin with token
  49. - added default realm roles handlers
  50. - **api**: add tests for create_authz_scopes
  51. - option for enabling users
  52. - helping functions for disabling users
  53. - attack detection API implementation
  54. - added missing functionality to include attributes when returning realm roles according to specifications
  55. - add client scope-mappings client roles operations
  56. - Add token_type/scope to token exchange api
  57. - add client scope-mappings realm roles operations
  58. - add unit tests
  59. - add docstrings
  60. - add functions covering some missing REST API calls
  61. - added flake8-docstrings and upgraded dependencies
  62. - Ability to set custom timeout for KCOpenId and KCAdmin
  63. - Allow fetching existing policies before calling create_client_authz_client_policy()
  64. - support token exchange config via admin API
  65. - Add update_idp
  66. - Add update_mapper_in_idp
  67. - Support Token Exchange. Fixes #305
  68. - Add get_idp_mappers, fix #329
  69. - added new methods for client scopes
  70. - added UMA-permission request functionality
  71. - added authenticator providers getters
  72. - fixed admin client to pass the tests
  73. - initial setup of CICD and linting
  74. - add KeycloakAdmin.set_events
  75. - add components
  76. ### Fix
  77. - retry upon 401
  78. - check uma permissions with resource ID as well
  79. - get group by path should not raise on 404
  80. - change to mounts (#622)
  81. - Feature parity for `a_decode_token` and `decode_token` (#616)
  82. - make sure to not call sync IO functions inside async functions (#615)
  83. - Add optional Nonce parameter to the authorization URL requests (#606)
  84. - add scopes to device auth (#599)
  85. - changed sync get user id to async get user in create user async function (#600)
  86. - Set client_credentials as grant_type also when x509 certificate is given (#597)
  87. - use a_public_key() in a_decode_token() instead of public_key() (#582)
  88. - correctly pass query params in a_send_update_account and a_send_verify_email (#581)
  89. - passing timeout values to ConnectionManager (#578)
  90. - Leeway config (#568)
  91. - removed dead code, stabilized tests
  92. - removed deprecated functionality
  93. - lowercase default role name (#547)
  94. - fix keycloak_admin.create_user documentation/ typehint (#545)
  95. - improve KeycloakAdmin.get_client_id() performances (#511)
  96. - incorporate custom headers into default header setup (#533)
  97. - get_groups pagination call was not used #537 (#541)
  98. - use jwcrypto and remove python-jose
  99. - replace python-jose with jwcrypto
  100. - updated readme.
  101. - use grant type password with client secret
  102. - name of client_id parameter
  103. - update readme.
  104. - linter check
  105. - updated dependencies
  106. - Removing the admin realm variable which I created and is no longer needed
  107. - action bump
  108. - linter check.
  109. - depracated endpoint and fix groups services.
  110. - deprecate entitlement
  111. - no prints
  112. - Ci/fix tests (#506)
  113. - remove duplicate slash in URL_ADMIN_IDP (#459)
  114. - relax the version constraints
  115. - do not swap realm for user_realm when logging in with a client service account (#447)
  116. - Fixes `Authorization.load_config` breaking if a scope based permission is linked with anything other than a role based policy. Fixes #445 (#446)
  117. - issue with app engine reported in #440 (#442)
  118. - Initializing KeycloakAdmin without server_url (#439)
  119. - **pyproject.toml**: loose requests pgk and remove urllib3 as dependency (#434)
  120. - Check if _s exists in ConnectionManager before deleting it (#429)
  121. - deprecation warnings in keycloak_admin.py (#425)
  122. - improved type-hints (#427)
  123. - Refactor auto refresh (#415)
  124. - Check if applyPolicies exists in the config (#367)
  125. - get_group_by_path uses Keycloak API to load (#417)
  126. - tests and upgraded deps (#419)
  127. - do not include CODEOWNERS (#407)
  128. - fix testing create_client_authz_scopes parameters
  129. - fix linting
  130. - add testcase for invalid client id
  131. - create authz clients test case
  132. - create authz clients test case
  133. - use version from the package
  134. - default scope to openid
  135. - removed whitespace from urls
  136. - linting
  137. - now get_required_action_by_alias now returns None if action does not exist
  138. - moved imports at the top of the file
  139. - remove duplicate function
  140. - applied tox -e docs
  141. - applied flake linting checks
  142. - applied tox linting check
  143. - check client existence based on clientId
  144. - turn get_name into a method, use setters in connection manager
  145. - Support the auth_url method called with scope & state params now
  146. - raise correct exceptions
  147. - fixed bugs in events methods
  148. - fixed components bugs
  149. - use param for update client mapper
  150. - allow query parameters for users count
  151. - correct spelling of public API method
  152. - allow client_credentials token if username and password not specified
  153. - added fixes based on feedback
  154. - import classes in the base module
  155. - escape when get role fails
  156. - Add missing keycloak.authorization package
  157. - full tox fix ready
  158. - raise correct errors
  159. - **release**: version bumps for hotfix release
  160. - handle refresh_token error "Session not active"
  161. ### Refactor
  162. - refactored decode_token
  163. - Exchange token method
  164. - code formatting after tox checks
  165. - remove print statements
  166. - applied linting
  167. - no need to try if the type check is performed
  168. - merge master branch into local
  169. - slight restructure of the base fixtures
  170. - isort conf.py
  171. - Merge branch 'master' into feature/cicd
  172. ### Perf
  173. - improve performance of get_user_id (#449)