Skip to content
  • Kevin Morris's avatar
    aurweb.asgi: add security headers middleware · 865c4145
    Kevin Morris authored
    This commit introduces a middleware function which adds
    the following security headers to each response:
    
    - Content-Security-Policy
        - This includes a new `nonce`, which is tied to a user
          via authentication middleware. Both an anonymous user
          and an authenticated user recieve their own random nonces.
    - X-Content-Type-Options
    - Referrer-Policy
    - X-Frame-Options
    
    They are then tested for existence in test/test_routes.py.
    
    Note: The overcomplicated-looking asyncio behavior in the
    middleware function is used to avoid a warning about the old
    coroutine awaits being deprecated. See
    https://docs.python.org/3/library/asyncio-task.html#asyncio.wait
    
    
    for more detail.
    
    Signed-off-by: Kevin Morris's avatarKevin Morris <kevr@0cost.org>
    865c4145