c2cgeoportal-geoportal 2.9.0.324__py3-none-any.whl → 2.9.0.328__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.

@@ -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(user_info_remember["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
@@ -1,2 +1,2 @@
1
- c2cciutils[checks,publish]==1.7.4
1
+ c2cciutils[checks,publish]==1.7.5
2
2
  pre-commit==4.3.0
@@ -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
- user_info = json.loads(self.request.authenticated_userid)
300
- client.revoke_token(user_info["access_token"])
301
- if user_info.get("refresh_token") is not None:
302
- client.revoke_token(user_info["refresh_token"])
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
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: c2cgeoportal-geoportal
3
- Version: 2.9.0.324
3
+ Version: 2.9.0.328
4
4
  Summary: c2cgeoportal geoportal
5
5
  Home-page: https://github.com/camptocamp/c2cgeoportal/
6
6
  Author: Camptocamp
@@ -1,4 +1,4 @@
1
- c2cgeoportal_geoportal/__init__.py,sha256=hPoVL78ef1gwRn_thABVX63JpQ8huWorCJ6N4LtoR50,40070
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=h6mRllroNhp076q0pRGSnFoLDHO61zXLTfR1T6DfEK0,13400
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
@@ -84,7 +84,7 @@ c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.github/workflo
84
84
  c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.github/workflows/update_l10n.yaml,sha256=AEm3dpJDVnYKy61mduSkPk10tJEkQMmhb1TQdbm0nlU,2335
85
85
  c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/ci/config.yaml,sha256=8doQOoZkZq4ICjOqH96egW1lsJFgL33hTPhmee8OHCs,360
86
86
  c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/ci/docker-compose-check,sha256=7lnVTaaoUrC5MPGpwH2IWbzYc2KaeQMWguahsoY9Rf8,615
87
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/ci/requirements.txt,sha256=cSooDfEuYl-MNr0fAXZaMPEK0wbOnFGyr9f_8qxnp3Q,52
87
+ c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/ci/requirements.txt,sha256=76D4ylPFiXz65j84ND8ygSQtW53dUWNEZEF9DsCczeE,52
88
88
  c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/vars.yaml,sha256=xHLgFqZ1pNBl1z7PSSZ2Ci3MHBZuVm9H7dTvCCL2I9w,12009
89
89
  c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/locale/en/LC_MESSAGES/{{cookiecutter.package}}_geoportal-client.po,sha256=hKLs5f7EJz05ACRtyTlCtssCo99PMuj-FfOJXchMZFk,162
90
90
  c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/robot.txt.tmpl,sha256=JR_vIqMlHq1oSgyWPN2mtZyEpsqhjKQQecaW2pxvK54,88
@@ -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=9nFtMzPAPVoUhS3KmojrX3tyeInVkwjwZRqfroF444k,29360
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.324.dist-info/METADATA,sha256=RVKIWjjrwJOIQqmyCQBiYRtCM679K7jc-RIV2whNwFc,2049
191
- c2cgeoportal_geoportal-2.9.0.324.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
192
- c2cgeoportal_geoportal-2.9.0.324.dist-info/entry_points.txt,sha256=3dnX260FsLX_AubeNMdyeta_z1X4CxcD3steAlfPx2I,1414
193
- c2cgeoportal_geoportal-2.9.0.324.dist-info/top_level.txt,sha256=PJIbY7Nx51dDrJ052f5mDA7c6Tehm5aD-Gb32L_CtJA,29
194
- c2cgeoportal_geoportal-2.9.0.324.dist-info/RECORD,,
190
+ c2cgeoportal_geoportal-2.9.0.328.dist-info/METADATA,sha256=crq4IRNyFT1ansCzvK-rwYVhJ6H85K44cpVmKUWvGao,2049
191
+ c2cgeoportal_geoportal-2.9.0.328.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
192
+ c2cgeoportal_geoportal-2.9.0.328.dist-info/entry_points.txt,sha256=3dnX260FsLX_AubeNMdyeta_z1X4CxcD3steAlfPx2I,1414
193
+ c2cgeoportal_geoportal-2.9.0.328.dist-info/top_level.txt,sha256=PJIbY7Nx51dDrJ052f5mDA7c6Tehm5aD-Gb32L_CtJA,29
194
+ c2cgeoportal_geoportal-2.9.0.328.dist-info/RECORD,,