Open
Description
Hello,
I have a flask app, which uses trino python client to query the data from my trino servers and I have enabled oatuh2 authentication against my azure active directory, currently, the token is caching per host, I need to have it cached per user who authenticates on the front end of my web application. I have implemented my custom cache below and it is working as per my use case, but I prefer not to change any private properties as it's not the best practice.
from flask import session
class _CustomCache(_OAuth2TokenCache):
"""
In-memory token cache implementation. The token is stored per user.
"""
def __init__(self):
self._cache = {}
def get_token_from_cache(self, host: str) -> Optional[str]:
userName=session['user']
return self._cache.get(userName)
def store_token_to_cache(self, host: str, token: str) -> None:
userName=session['user']
self._cache[userName] = token
temp=OAuth2Authentication()
temp._bearer._token_cache=_CustomCache()
conn=connect(
host='******',
port=443,
auth=temp,
http_scheme="https"
)
cursor=conn.cursor()