pypomes-iam 0.2.3__tar.gz → 0.2.5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pypomes-iam might be problematic. Click here for more details.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pypomes_iam
3
- Version: 0.2.3
3
+ Version: 0.2.5
4
4
  Summary: A collection of Python pomes, penyeach (IAM modules)
5
5
  Project-URL: Homepage, https://github.com/TheWiseCoder/PyPomes-IAM
6
6
  Project-URL: Bug Tracker, https://github.com/TheWiseCoder/PyPomes-IAM/issues
@@ -6,7 +6,7 @@ build-backend = "hatchling.build"
6
6
 
7
7
  [project]
8
8
  name = "pypomes_iam"
9
- version = "0.2.3"
9
+ version = "0.2.5"
10
10
  authors = [
11
11
  { name="GT Nunes", email="wisecoder01@gmail.com" }
12
12
  ]
@@ -292,9 +292,9 @@ def _get_user_data(registry: dict[str, Any],
292
292
  }
293
293
  users[user_id] = result
294
294
  if logger:
295
- logger.debug(msg=f"Entry for user '{user_id}' added to the registry")
295
+ logger.debug(msg=f"Entry for '{user_id}' added to the registry")
296
296
  elif logger:
297
- logger.debug(msg=f"Entry for user '{user_id}' obtained from the registry")
297
+ logger.debug(msg=f"Entry for '{user_id}' obtained from the registry")
298
298
 
299
299
  return result
300
300
 
@@ -22,14 +22,8 @@ def service_login() -> Response:
22
22
 
23
23
  :return: the response from the redirect operation
24
24
  """
25
- logger: Logger
26
- registry: dict[str, Any]
27
- if request.endpoint == "jusbr-login":
28
- logger = _jusbr_get_logger()
29
- registry = _jusbr_get_registry()
30
- else:
31
- logger = _keycloak_get_logger()
32
- registry = _keycloak_get_registry()
25
+ # retrieve logger and registry
26
+ logger, registry = _get_iam_args(endpoint=request.endpoint)
33
27
 
34
28
  # log the request
35
29
  if logger:
@@ -61,14 +55,8 @@ def service_logout() -> Response:
61
55
 
62
56
  :return: response *OK*
63
57
  """
64
- logger: Logger
65
- registry: dict[str, Any]
66
- if request.endpoint == "jusbr-logout":
67
- logger = _jusbr_get_logger()
68
- registry = _jusbr_get_registry()
69
- else:
70
- logger = _keycloak_get_logger()
71
- registry = _keycloak_get_registry()
58
+ # retrieve logger and registry
59
+ logger, registry = _get_iam_args(endpoint=request.endpoint)
72
60
 
73
61
  # log the request
74
62
  if logger:
@@ -98,14 +86,8 @@ def service_callback() -> Response:
98
86
 
99
87
  :return: the response containing the token, or *BAD REQUEST*
100
88
  """
101
- logger: Logger
102
- registry: dict[str, Any]
103
- if request.endpoint == "jusbr-callback":
104
- logger = _jusbr_get_logger()
105
- registry = _jusbr_get_registry()
106
- else:
107
- logger = _keycloak_get_logger()
108
- registry = _keycloak_get_registry()
89
+ # retrieve logger and registry
90
+ logger, registry = _get_iam_args(endpoint=request.endpoint)
109
91
 
110
92
  # log the request
111
93
  if logger:
@@ -143,14 +125,8 @@ def service_token() -> Response:
143
125
 
144
126
  :return: the response containing the token, or *UNAUTHORIZED*
145
127
  """
146
- logger: Logger
147
- registry: dict[str, Any]
148
- if request.endpoint == "jusbr-token":
149
- logger = _jusbr_get_logger()
150
- registry = _jusbr_get_registry()
151
- else:
152
- logger = _keycloak_get_logger()
153
- registry = _keycloak_get_registry()
128
+ # retrieve logger and registry
129
+ logger, registry = _get_iam_args(endpoint=request.endpoint)
154
130
 
155
131
  # log the request
156
132
  if logger:
@@ -174,3 +150,25 @@ def service_token() -> Response:
174
150
  logger.debug(msg=f"Response {result}")
175
151
 
176
152
  return result
153
+
154
+
155
+ def _get_iam_args(endpoint: str) -> tuple[Logger, dict[str, Any]]:
156
+ """
157
+ Retrieve the logger and registry associated the the IAM identifies by *endpoint*.
158
+
159
+ :param endpoint: the service enpoint identifying the IAM.
160
+ :return: the tuple (*logger*, *registry*) associated with *endpoint*
161
+ """
162
+ # initialize the return variables
163
+ result_logger: Logger | None = None
164
+ result_registry: dict[str, Any] | None = None
165
+
166
+ if endpoint.startswith("jusbr-"):
167
+ result_logger = _jusbr_get_logger()
168
+ result_registry = _jusbr_get_registry()
169
+ elif endpoint.startswith("keycloak-"):
170
+ result_logger = _keycloak_get_logger()
171
+ result_registry = _keycloak_get_registry()
172
+
173
+ return result_logger, result_registry
174
+
@@ -91,7 +91,7 @@ def jusbr_setup(flask_app: Flask,
91
91
  global _jusbr_logger, _jusbr_registry
92
92
 
93
93
  # establish the logger
94
- _logger = logger
94
+ _jusbr_logger = logger
95
95
 
96
96
  # configure the JusBR registry
97
97
  safe_cache: Cache = FIFOCache(maxsize=1048576)
@@ -111,11 +111,6 @@ def keycloak_setup(flask_app: Flask,
111
111
  }
112
112
 
113
113
  # establish the endpoints
114
- if token_endpoint:
115
- flask_app.add_url_rule(rule=token_endpoint,
116
- endpoint="keycloak-token",
117
- view_func=service_token,
118
- methods=["GET"])
119
114
  if login_endpoint:
120
115
  flask_app.add_url_rule(rule=login_endpoint,
121
116
  endpoint="keycloak-login",
@@ -131,6 +126,11 @@ def keycloak_setup(flask_app: Flask,
131
126
  endpoint="keycloak-callback",
132
127
  view_func=service_callback,
133
128
  methods=["POST"])
129
+ if token_endpoint:
130
+ flask_app.add_url_rule(rule=token_endpoint,
131
+ endpoint="keycloak-token",
132
+ view_func=service_token,
133
+ methods=["GET"])
134
134
 
135
135
 
136
136
  def keycloak_get_token(user_id: str,
File without changes
File without changes
File without changes