c2cgeoportal-geoportal 2.9.0.324__py3-none-any.whl → 2.9.0.325__py3-none-any.whl
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 c2cgeoportal-geoportal might be problematic. Click here for more details.
- c2cgeoportal_geoportal/__init__.py +4 -1
- c2cgeoportal_geoportal/lib/oidc.py +19 -4
- c2cgeoportal_geoportal/views/login.py +5 -4
- {c2cgeoportal_geoportal-2.9.0.324.dist-info → c2cgeoportal_geoportal-2.9.0.325.dist-info}/METADATA +1 -1
- {c2cgeoportal_geoportal-2.9.0.324.dist-info → c2cgeoportal_geoportal-2.9.0.325.dist-info}/RECORD +8 -8
- {c2cgeoportal_geoportal-2.9.0.324.dist-info → c2cgeoportal_geoportal-2.9.0.325.dist-info}/WHEEL +0 -0
- {c2cgeoportal_geoportal-2.9.0.324.dist-info → c2cgeoportal_geoportal-2.9.0.325.dist-info}/entry_points.txt +0 -0
- {c2cgeoportal_geoportal-2.9.0.324.dist-info → c2cgeoportal_geoportal-2.9.0.325.dist-info}/top_level.txt +0 -0
|
@@ -416,6 +416,9 @@ def create_get_user_from_request(
|
|
|
416
416
|
if access_token_expires < datetime.datetime.now(datetime.timezone.utc):
|
|
417
417
|
if user_info_remember["refresh_token_expires"] is None:
|
|
418
418
|
return None
|
|
419
|
+
refresh_token = request.cookies.get("refresh_token")
|
|
420
|
+
if refresh_token is None:
|
|
421
|
+
return None
|
|
419
422
|
refresh_token_expires = dateutil.parser.isoparse(
|
|
420
423
|
user_info_remember["refresh_token_expires"]
|
|
421
424
|
)
|
|
@@ -432,7 +435,7 @@ def create_get_user_from_request(
|
|
|
432
435
|
return None
|
|
433
436
|
token_response = oidc.get_oidc_client(
|
|
434
437
|
request, request.host
|
|
435
|
-
).exchange_refresh_token(
|
|
438
|
+
).exchange_refresh_token(refresh_token)
|
|
436
439
|
user_info_remember = oidc.OidcRemember(request).remember(
|
|
437
440
|
token_response, request.host
|
|
438
441
|
)
|
|
@@ -87,9 +87,7 @@ class OidcRememberObject(TypedDict):
|
|
|
87
87
|
The JSON object that is stored in a cookie to remember the user.
|
|
88
88
|
"""
|
|
89
89
|
|
|
90
|
-
access_token: str
|
|
91
90
|
access_token_expires: str
|
|
92
|
-
refresh_token: str | None
|
|
93
91
|
refresh_token_expires: str | None
|
|
94
92
|
username: str | None
|
|
95
93
|
display_name: str | None
|
|
@@ -269,13 +267,30 @@ class OidcRemember:
|
|
|
269
267
|
raise HTTPUnauthorized("See server logs for details")
|
|
270
268
|
|
|
271
269
|
openid_connect = self.authentication_settings.get("openid_connect", {})
|
|
270
|
+
self.request.response.set_cookie(
|
|
271
|
+
"access_token",
|
|
272
|
+
token_response.access_token,
|
|
273
|
+
max_age=token_response.expires_in,
|
|
274
|
+
secure=True,
|
|
275
|
+
httponly=True,
|
|
276
|
+
samesite="Lax",
|
|
277
|
+
domain=self.request.domain,
|
|
278
|
+
)
|
|
279
|
+
if token_response.refresh_expires_in is not None:
|
|
280
|
+
self.request.response.set_cookie(
|
|
281
|
+
"refresh_token",
|
|
282
|
+
token_response.refresh_token,
|
|
283
|
+
max_age=token_response.refresh_expires_in,
|
|
284
|
+
secure=True,
|
|
285
|
+
httponly=True,
|
|
286
|
+
samesite="Lax",
|
|
287
|
+
domain=self.request.domain,
|
|
288
|
+
)
|
|
272
289
|
remember_object: OidcRememberObject = {
|
|
273
|
-
"access_token": token_response.access_token,
|
|
274
290
|
"access_token_expires": (
|
|
275
291
|
datetime.datetime.now(datetime.timezone.utc)
|
|
276
292
|
+ datetime.timedelta(seconds=token_response.expires_in)
|
|
277
293
|
).isoformat(),
|
|
278
|
-
"refresh_token": token_response.refresh_token,
|
|
279
294
|
"refresh_token_expires": (
|
|
280
295
|
None
|
|
281
296
|
if token_response.refresh_expires_in is None
|
|
@@ -296,10 +296,11 @@ class Login:
|
|
|
296
296
|
if self.authentication_settings.get("openid_connect", {}).get("enabled", False):
|
|
297
297
|
client = oidc.get_oidc_client(self.request, self.request.host)
|
|
298
298
|
if hasattr(client, "revoke_token"):
|
|
299
|
-
|
|
300
|
-
client.revoke_token(
|
|
301
|
-
|
|
302
|
-
|
|
299
|
+
access_token = self.request.cookies.get("access_token")
|
|
300
|
+
client.revoke_token(access_token)
|
|
301
|
+
refresh_token = self.request.cookies.get("refresh_token")
|
|
302
|
+
if refresh_token is not None:
|
|
303
|
+
client.revoke_token(refresh_token)
|
|
303
304
|
|
|
304
305
|
headers = forget(self.request)
|
|
305
306
|
|
{c2cgeoportal_geoportal-2.9.0.324.dist-info → c2cgeoportal_geoportal-2.9.0.325.dist-info}/RECORD
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
c2cgeoportal_geoportal/__init__.py,sha256=
|
|
1
|
+
c2cgeoportal_geoportal/__init__.py,sha256=knkBNKoGXM6jjWtMXsp65W6r5M6Yij949MjtX4MioQ4,40227
|
|
2
2
|
c2cgeoportal_geoportal/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3
3
|
c2cgeoportal_geoportal/resources.py,sha256=rDruIDlzwktqj_A-DFA7ZkWwkasVZ4KELCmUe61ghGI,2158
|
|
4
4
|
c2cgeoportal_geoportal/lib/__init__.py,sha256=9BI0fqGiCOhegf7WmsP4_FxnlXzhZfguIwiIF1b2JI8,10431
|
|
@@ -20,7 +20,7 @@ c2cgeoportal_geoportal/lib/lingva_extractor.py,sha256=pS-B5oTcEkW__XUop6rWKdpJhn
|
|
|
20
20
|
c2cgeoportal_geoportal/lib/loader.py,sha256=oN76GhbLbdmCWp3DFTq16HJSylnDApuS1Ea8D-DQA3o,2613
|
|
21
21
|
c2cgeoportal_geoportal/lib/metrics.py,sha256=dAPdJtrtTPbwVuULZZ5dJC1JJCDbC0rJA7dtvsqIo40,4847
|
|
22
22
|
c2cgeoportal_geoportal/lib/oauth2.py,sha256=03nV635IkGyu0EckvUc_0akG9YzpG3PSZ2ILt2TVieI,41107
|
|
23
|
-
c2cgeoportal_geoportal/lib/oidc.py,sha256=
|
|
23
|
+
c2cgeoportal_geoportal/lib/oidc.py,sha256=PK6ot63GDg1LA82nVqvzNT8sI8-oyqk4vGpfm_MzCg0,13912
|
|
24
24
|
c2cgeoportal_geoportal/lib/wmstparsing.py,sha256=KFMEv7Skqc9HFA1m7x2xQMu4Bk2gJsyp5XTGwLLXb7w,12379
|
|
25
25
|
c2cgeoportal_geoportal/lib/xsd.py,sha256=_JDDlMIsvThb9DGmHS3XMazlRYG3AQK8kHQ4pq6sH8s,7031
|
|
26
26
|
c2cgeoportal_geoportal/scaffolds/advance_create/cookiecutter.json,sha256=1LVOM-j_nd00J89q0EI3bQUvIysbidApaVHDibA2ydk,524
|
|
@@ -160,7 +160,7 @@ c2cgeoportal_geoportal/views/fulltextsearch.py,sha256=i6d0-1N2pNG6KWq9Bih_kD4TQA
|
|
|
160
160
|
c2cgeoportal_geoportal/views/geometry_processing.py,sha256=IWzAgi29nytLIB3PdjoLqXUoSXEO9HcMjjNWEE9shv4,2958
|
|
161
161
|
c2cgeoportal_geoportal/views/i18n.py,sha256=9e5VIGmKgOUTAn8R3ch98VXDpH70UZpHZ9hLkzHAW14,5343
|
|
162
162
|
c2cgeoportal_geoportal/views/layers.py,sha256=qGO_eQw09pcG9KerEe5y7ktlgUqcJywBPMm4KE14g44,29226
|
|
163
|
-
c2cgeoportal_geoportal/views/login.py,sha256=
|
|
163
|
+
c2cgeoportal_geoportal/views/login.py,sha256=xFLXpZtEYRI6UIX7zfoCB0lDPTgvGjkUBp0WjBEoHp0,29389
|
|
164
164
|
c2cgeoportal_geoportal/views/mapserverproxy.py,sha256=zaTveZ0NK6KCcXWougfLNKqy5SIzlDUNnzGxQ0NVhKM,9498
|
|
165
165
|
c2cgeoportal_geoportal/views/memory.py,sha256=s8l5ewxjl_kaK7sH45SmMdr3ZZqvpW4QLKCaSh9i5YA,3754
|
|
166
166
|
c2cgeoportal_geoportal/views/ogcproxy.py,sha256=81S4du9IgTLe7t67QyjMNuUGZYkwaDY10hxPwLhizxg,5215
|
|
@@ -187,8 +187,8 @@ tests/test_mapserverproxy_route_predicate.py,sha256=aH5r5MliqE5RF4J7Q-luQQ6sgOcM
|
|
|
187
187
|
tests/test_raster.py,sha256=IzwJMGti82B51aVfy2QbeNeJXn3B6bM-JnbYpt5KqB4,11948
|
|
188
188
|
tests/test_wmstparsing.py,sha256=DMUFSrJAyRfOhosD8Ap5251NCxfaX7vmkWmexdc6CDU,9054
|
|
189
189
|
tests/xmlstr.py,sha256=vozYRYG4sBPhasl4PemLUZxg-jAtQxUY5ntp1uDoxik,5985
|
|
190
|
-
c2cgeoportal_geoportal-2.9.0.
|
|
191
|
-
c2cgeoportal_geoportal-2.9.0.
|
|
192
|
-
c2cgeoportal_geoportal-2.9.0.
|
|
193
|
-
c2cgeoportal_geoportal-2.9.0.
|
|
194
|
-
c2cgeoportal_geoportal-2.9.0.
|
|
190
|
+
c2cgeoportal_geoportal-2.9.0.325.dist-info/METADATA,sha256=xK_pSK9dNkAB-05iBrTZ2--AszDJzGF35M6NtIHJKXI,2049
|
|
191
|
+
c2cgeoportal_geoportal-2.9.0.325.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
|
|
192
|
+
c2cgeoportal_geoportal-2.9.0.325.dist-info/entry_points.txt,sha256=3dnX260FsLX_AubeNMdyeta_z1X4CxcD3steAlfPx2I,1414
|
|
193
|
+
c2cgeoportal_geoportal-2.9.0.325.dist-info/top_level.txt,sha256=PJIbY7Nx51dDrJ052f5mDA7c6Tehm5aD-Gb32L_CtJA,29
|
|
194
|
+
c2cgeoportal_geoportal-2.9.0.325.dist-info/RECORD,,
|
{c2cgeoportal_geoportal-2.9.0.324.dist-info → c2cgeoportal_geoportal-2.9.0.325.dist-info}/WHEEL
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|