def initialize_anonymous_session(self, request: Request):
"""
Initializes an anonymous session for the given request.
:param request: incoming request to a resource that is related to this logical area.
"""
client_ip = self.get_client_ip(request)
result = await self.membership.initialize_anonymous_session(client_ip,
client_data=request.headers.get("User-Agent"))
# set a flag to set a session cookie
session = result.session
session_cookie_name = self.config.session_cookie_name
encryption_key = self.config.encryption_key
session_cookie_value = AesEncryptor.encrypt(str(session.guid), encryption_key)
request.set_session_cookie = True
request.cookies_to_set.append(CookieToken(session_cookie_name,
session_cookie_value,
httponly=True,
secure=self.secure_cookies))
# store user and session information in the request object
request.user = result.principal
request.session = session
评论列表
文章目录