Browse Source

refactor: shorten KeycloakOpenIDConnectionManager->KeycloakOpenIDConnection

pull/415/head
nuwang 3 years ago
parent
commit
4b75fa4b85
  1. 8
      README.md
  2. 4
      src/keycloak/__init__.py
  3. 14
      src/keycloak/keycloak_admin.py
  4. 6
      src/keycloak/keycloak_uma.py
  5. 4
      src/keycloak/openid_connection.py
  6. 10
      tests/conftest.py
  7. 8
      tests/test_keycloak_uma.py

8
README.md

@ -142,9 +142,9 @@ auth_status = keycloak_openid.has_uma_access(token['access_token'], "Resource#Sc
# KEYCLOAK ADMIN
from keycloak import KeycloakAdmin
from keycloak import KeycloakOpenIDConnectionManager
from keycloak import KeycloakOpenIDConnection
keycloak_connection = KeycloakOpenIDConnectionManager(
keycloak_connection = KeycloakOpenIDConnection(
server_url="http://localhost:8080/",
username='example-admin',
password='secret',
@ -352,10 +352,10 @@ keycloak_admin.create_user(...) # Creates a new user in 'demo'
# KEYCLOAK UMA
from keycloak import KeycloakOpenIDConnectionManager
from keycloak import KeycloakOpenIDConnection
from keycloak import KeycloakUMA
keycloak_connection = KeycloakOpenIDConnectionManager(
keycloak_connection = KeycloakOpenIDConnection(
server_url="http://localhost:8080/",
realm_name="master",
client_id="my_client",

4
src/keycloak/__init__.py

@ -43,7 +43,7 @@ from .exceptions import (
from .keycloak_admin import KeycloakAdmin
from .keycloak_openid import KeycloakOpenID
from .keycloak_uma import KeycloakUMA
from .openid_connection import KeycloakOpenIDConnectionManager
from .openid_connection import KeycloakOpenIDConnection
__all__ = [
"__version__",
@ -63,6 +63,6 @@ __all__ = [
"KeycloakSecretNotFound",
"KeycloakAdmin",
"KeycloakOpenID",
"KeycloakOpenIDConnectionManager",
"KeycloakOpenIDConnection",
"KeycloakUMA",
]

14
src/keycloak/keycloak_admin.py

@ -42,7 +42,7 @@ from .exceptions import (
KeycloakPutError,
raise_error_from_response,
)
from .openid_connection import KeycloakOpenIDConnectionManager
from .openid_connection import KeycloakOpenIDConnection
class KeycloakAdmin:
@ -76,8 +76,8 @@ class KeycloakAdmin:
:type auto_refresh_token: list
:param timeout: connection timeout in seconds
:type timeout: int
:param connection: A KeycloakOpenIDConnectionManager as an alternative to individual params.
:type connection: KeycloakOpenIDConnectionManager
:param connection: A KeycloakOpenIDConnection as an alternative to individual params.
:type connection: KeycloakOpenIDConnection
"""
PAGE_SIZE = 100
@ -100,7 +100,7 @@ class KeycloakAdmin:
user_realm_name=None,
auto_refresh_token=None,
timeout=60,
connection: KeycloakOpenIDConnectionManager = None,
connection: KeycloakOpenIDConnection = None,
):
"""Init method.
@ -133,9 +133,9 @@ class KeycloakAdmin:
:param timeout: connection timeout in seconds
:type timeout: int
:param connection: An OpenID Connection as an alternative to individual params.
:type connection: KeycloakOpenIDConnectionManager
:type connection: KeycloakOpenIDConnection
"""
self.connection = connection or KeycloakOpenIDConnectionManager(
self.connection = connection or KeycloakOpenIDConnection(
server_url=server_url,
username=username,
password=password,
@ -206,7 +206,7 @@ class KeycloakAdmin:
"""Get connection.
:returns: Connection manager
:rtype: KeycloakOpenIDConnectionManager
:rtype: KeycloakOpenIDConnection
"""
return self._connection

6
src/keycloak/keycloak_uma.py

@ -36,7 +36,7 @@ from .exceptions import (
KeycloakPutError,
raise_error_from_response,
)
from .openid_connection import KeycloakOpenIDConnectionManager
from .openid_connection import KeycloakOpenIDConnection
from .urls_patterns import URL_UMA_WELL_KNOWN
@ -46,11 +46,11 @@ class KeycloakUMA:
:param connection: OpenID connection manager
"""
def __init__(self, connection: KeycloakOpenIDConnectionManager):
def __init__(self, connection: KeycloakOpenIDConnection):
"""Init method.
:param connection: OpenID connection manager
:type connection: KeycloakOpenIDConnectionManager
:type connection: KeycloakOpenIDConnection
"""
self.connection = connection
custom_headers = self.connection.custom_headers or {}

4
src/keycloak/openid_connection.py

@ -23,7 +23,7 @@
"""Keycloak OpenID Connection Manager module.
The module contains mainly the implementation of KeycloakOpenIDConnectionManager class.
The module contains mainly the implementation of KeycloakOpenIDConnection class.
This is an extension of the ConnectionManager class, and handles the automatic refresh
of openid tokens when required.
"""
@ -35,7 +35,7 @@ from .exceptions import KeycloakPostError
from .keycloak_openid import KeycloakOpenID
class KeycloakOpenIDConnectionManager(ConnectionManager):
class KeycloakOpenIDConnection(ConnectionManager):
"""A class to help with OpenID connections which can auto refresh tokens.
:param object: _description_

10
tests/conftest.py

@ -14,7 +14,7 @@ from cryptography.hazmat.primitives import hashes, serialization
from cryptography.hazmat.primitives.asymmetric import rsa
from cryptography.x509.oid import NameOID
from keycloak import KeycloakAdmin, KeycloakOpenID, KeycloakOpenIDConnectionManager, KeycloakUMA
from keycloak import KeycloakAdmin, KeycloakOpenID, KeycloakOpenIDConnection, KeycloakUMA
class KeycloakTestEnv(object):
@ -503,10 +503,10 @@ def oid_connection_with_authz(oid_with_credentials_authz: Tuple[KeycloakOpenID,
:param oid_with_credentials_authz: Keycloak OpenID client with pre-configured user credentials
:type oid_with_credentials_authz: Tuple[KeycloakOpenID, str, str]
:yields: Keycloak OpenID connection manager
:rtype: KeycloakOpenIDConnectionManager
:rtype: KeycloakOpenIDConnection
"""
oid, _, _ = oid_with_credentials_authz
connection = KeycloakOpenIDConnectionManager(
connection = KeycloakOpenIDConnection(
server_url=oid.connection.base_url,
realm_name=oid.realm_name,
client_id=oid.client_id,
@ -517,11 +517,11 @@ def oid_connection_with_authz(oid_with_credentials_authz: Tuple[KeycloakOpenID,
@pytest.fixture
def uma(oid_connection_with_authz: KeycloakOpenIDConnectionManager):
def uma(oid_connection_with_authz: KeycloakOpenIDConnection):
"""Fixture for initialized KeycloakUMA class.
:param oid_connection_with_authz: Keycloak open id connection with pre-configured authz client
:type oid_connection_with_authz: KeycloakOpenIDConnectionManager
:type oid_connection_with_authz: KeycloakOpenIDConnection
:yields: Keycloak OpenID client
:rtype: KeycloakOpenID
"""

8
tests/test_keycloak_uma.py

@ -3,7 +3,7 @@ import re
import pytest
from keycloak import KeycloakOpenIDConnectionManager, KeycloakUMA
from keycloak import KeycloakOpenIDConnection, KeycloakUMA
from keycloak.exceptions import (
KeycloakDeleteError,
KeycloakGetError,
@ -12,16 +12,16 @@ from keycloak.exceptions import (
)
def test_keycloak_uma_init(oid_connection_with_authz: KeycloakOpenIDConnectionManager):
def test_keycloak_uma_init(oid_connection_with_authz: KeycloakOpenIDConnection):
"""Test KeycloakUMA's init method.
:param oid_connection_with_authz: Keycloak OpenID connection manager with preconfigured authz
:type oid_connection_with_authz: KeycloakOpenIDConnectionManager
:type oid_connection_with_authz: KeycloakOpenIDConnection
"""
connection = oid_connection_with_authz
uma = KeycloakUMA(connection=connection)
assert isinstance(uma.connection, KeycloakOpenIDConnectionManager)
assert isinstance(uma.connection, KeycloakOpenIDConnection)
# should initially be empty
assert uma._well_known is None
assert uma.uma_well_known

Loading…
Cancel
Save