Skip to content

Commit

Permalink
Merge pull request #644 from Wauplin/622-fix-ever-growing-session-cookie
Browse files Browse the repository at this point in the history
Fix ever-growing session cookie (starlette integration)
  • Loading branch information
lepture authored Jul 1, 2024
2 parents 174248e + 01efd15 commit 0ad753c
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion authlib/integrations/starlette_client/integration.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,15 @@ async def get_state_data(self, session: Optional[Dict[str, Any]], state: str) ->
return None

async def set_state_data(self, session: Optional[Dict[str, Any]], state: str, data: Any):
key = f'_state_{self.name}_{state}'
key_prefix = f'_state_{self.name}_'
key = f'{key_prefix}{state}'
if self.cache:
await self.cache.set(key, json.dumps({'data': data}), self.expires_in)
elif session is not None:
# clear old state data to avoid session size growing
for key in list(session.keys()):
if key.startswith(key_prefix):
session.pop(key)
now = time.time()
session[key] = {'data': data, 'exp': now + self.expires_in}

Expand Down

0 comments on commit 0ad753c

Please sign in to comment.