£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyʦ•ꎅȮFÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~芩ÊǍí`ÔÑ©ú뙵'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶êםӼ㞪éUWŸÈË%DÒÕ¬ï‘]/Åcx ‰ï2ß]ä6G[]S£Ôϯrs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ ¯¹ægƒÛowЍø^d™ý½ßB7áyMä9ÜÖUã !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! """Identity policy for storing info directly into HTTP cookie. Use mostly for demonstration purposes, SessionIdentityPolicy is much more handy. """ from .abc import AbstractIdentityPolicy sentinel = object() class CookiesIdentityPolicy(AbstractIdentityPolicy): def __init__(self): self._cookie_name = 'AIOHTTP_SECURITY' self._max_age = 30 * 24 * 3600 async def identify(self, request): identity = request.cookies.get(self._cookie_name) return identity async def remember(self, request, response, identity, max_age=sentinel, **kwargs): if max_age is sentinel: max_age = self._max_age response.set_cookie(self._cookie_name, identity, max_age=max_age, **kwargs) async def forget(self, request, response): response.del_cookie(self._cookie_name)