· 5 years ago · Oct 12, 2020, 12:38 PM
1# -*- coding: utf8 -*-
2
3import asyncio
4import time
5import base64
6import requests
7from cryptography import fernet
8from aiohttp import web
9from aiohttp_session import setup, get_session, session_middleware
10from aiohttp_session.cookie_storage import EncryptedCookieStorage
11
12
13async def handlera(request):
14 data = {'some': 'data'}
15 return web.json_response(data)
16
17def user_login(request):
18 redirect_to = request.POST.get(REDIRECT_FIELD_NAME, request.GET.get(REDIRECT_FIELD_NAME, ''))
19 login_form = AuthenticationForm(request, data=request.POST)
20 if login_form.is_valid():
21 if not is_safe_url(url=REDIRECT_FIELD_NAME, host=request.get_host()):
22 redirect_to = settings.LOGIN_REDIRECT_URL
23 auth_login(request, login_form.get_user())
24 return redirect(settings.LOGIN_REDIRECT_URL if redirect_to == '' else redirect_to)
25 else:
26 return render(request, 'index.html', {'login_form': login_form, 'display': 'block', 'active': 'login'})
27
28async def handler(request):
29 session = await get_session(request)
30 key = session['key'] if 'key' in session else None
31 text = format(key)
32 return web.Response(text=text)
33
34URL = "http://localhost:8080"
35r = requests.get(url = URL)
36print(r.text)
37
38key = r.text
39
40q = requests.post(url = URL, json = key)
41print(q.text)
42
43
44
45async def make_app():
46 app = web.Application()
47 fernet_key = fernet.Fernet.generate_key()
48 secret_key = base64.urlsafe_b64decode(fernet_key)
49 setup(app, EncryptedCookieStorage(secret_key))
50 app.add_routes([web.get('/', handler)])
51 return app
52
53if __name__ == '__main__':
54 web.run_app(make_app())