OG and Cookie settings
This commit is contained in:
		@@ -25,7 +25,9 @@ class User:
 | 
				
			|||||||
            value = self._id,
 | 
					            value = self._id,
 | 
				
			||||||
            max_age = timedelta(days=14) if self.remember else 'Session',
 | 
					            max_age = timedelta(days=14) if self.remember else 'Session',
 | 
				
			||||||
            path = '/',
 | 
					            path = '/',
 | 
				
			||||||
            expires = datetime.utcnow() + timedelta(days=14) if self.remember else 'Session'
 | 
					            expires = datetime.utcnow() + timedelta(days=14) if self.remember else 'Session',
 | 
				
			||||||
 | 
					            domain = '.reftest.vsnt.uk',
 | 
				
			||||||
 | 
					            secure = True
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
        if self.remember:
 | 
					        if self.remember:
 | 
				
			||||||
            resp.set_cookie (
 | 
					            resp.set_cookie (
 | 
				
			||||||
@@ -33,7 +35,9 @@ class User:
 | 
				
			|||||||
                value = 'True',
 | 
					                value = 'True',
 | 
				
			||||||
                max_age = timedelta(days=14),
 | 
					                max_age = timedelta(days=14),
 | 
				
			||||||
                path = '/',
 | 
					                path = '/',
 | 
				
			||||||
                expires = datetime.utcnow() + timedelta(days=14)
 | 
					                expires = datetime.utcnow() + timedelta(days=14),
 | 
				
			||||||
 | 
					                domain = '.reftest.vsnt.uk',
 | 
				
			||||||
 | 
					                secure = True
 | 
				
			||||||
            )
 | 
					            )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def register(self):
 | 
					    def register(self):
 | 
				
			||||||
@@ -80,21 +84,27 @@ class User:
 | 
				
			|||||||
            value = '',
 | 
					            value = '',
 | 
				
			||||||
            max_age = timedelta(days=-1),
 | 
					            max_age = timedelta(days=-1),
 | 
				
			||||||
            path = '/',
 | 
					            path = '/',
 | 
				
			||||||
            expires= datetime.utcnow() + timedelta(days=-1)
 | 
					            expires= datetime.utcnow() + timedelta(days=-1),
 | 
				
			||||||
 | 
					            domain = '.reftest.vsnt.uk',
 | 
				
			||||||
 | 
					            secure = True
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
        resp.set_cookie (
 | 
					        resp.set_cookie (
 | 
				
			||||||
            key = 'cookie_consent',
 | 
					            key = 'cookie_consent',
 | 
				
			||||||
            value = 'True',
 | 
					            value = 'True',
 | 
				
			||||||
            max_age = 'Session',
 | 
					            max_age = 'Session',
 | 
				
			||||||
            path = '/',
 | 
					            path = '/',
 | 
				
			||||||
            expires = 'Session'
 | 
					            expires = 'Session',
 | 
				
			||||||
 | 
					            domain = '.reftest.vsnt.uk',
 | 
				
			||||||
 | 
					            secure = True
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
        resp.set_cookie (
 | 
					        resp.set_cookie (
 | 
				
			||||||
            key = 'remember',
 | 
					            key = 'remember',
 | 
				
			||||||
            value = 'True',
 | 
					            value = 'True',
 | 
				
			||||||
            max_age = timedelta(days=-1),
 | 
					            max_age = timedelta(days=-1),
 | 
				
			||||||
            path = '/',
 | 
					            path = '/',
 | 
				
			||||||
            expires = datetime.utcnow() + timedelta(days=-1)
 | 
					            expires = datetime.utcnow() + timedelta(days=-1),
 | 
				
			||||||
 | 
					            domain = '.reftest.vsnt.uk',
 | 
				
			||||||
 | 
					            secure = True
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
        flash('You have been logged out. All cookies pertaining to your account have been deleted. Have a nice day.', 'alert')
 | 
					        flash('You have been logged out. All cookies pertaining to your account have been deleted. Have a nice day.', 'alert')
 | 
				
			||||||
        return resp
 | 
					        return resp
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -13,6 +13,8 @@ def _cookies():
 | 
				
			|||||||
        value = 'True',
 | 
					        value = 'True',
 | 
				
			||||||
        max_age = timedelta(days=14) if request.cookies.get('remember') == 'True' else 'Session',
 | 
					        max_age = timedelta(days=14) if request.cookies.get('remember') == 'True' else 'Session',
 | 
				
			||||||
        path = '/',
 | 
					        path = '/',
 | 
				
			||||||
        expires = datetime.utcnow() + timedelta(days=14) if request.cookies.get('remember') else 'Session'
 | 
					        expires = datetime.utcnow() + timedelta(days=14) if request.cookies.get('remember') else 'Session',
 | 
				
			||||||
 | 
					        domain = '.reftest.vsnt.uk',
 | 
				
			||||||
 | 
					        secure = True
 | 
				
			||||||
    )
 | 
					    )
 | 
				
			||||||
    return resp
 | 
					    return resp
 | 
				
			||||||
@@ -8,6 +8,7 @@ from pymongo import MongoClient
 | 
				
			|||||||
from pymongo.errors import ConnectionFailure
 | 
					from pymongo.errors import ConnectionFailure
 | 
				
			||||||
from flask_wtf.csrf import CSRFProtect, CSRFError
 | 
					from flask_wtf.csrf import CSRFProtect, CSRFError
 | 
				
			||||||
from flask_mail import Mail
 | 
					from flask_mail import Mail
 | 
				
			||||||
 | 
					from werkzeug.middleware.proxy_fix import ProxyFix
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from common.security import check_keyfile_exists, generate_keyfile
 | 
					from common.security import check_keyfile_exists, generate_keyfile
 | 
				
			||||||
import config
 | 
					import config
 | 
				
			||||||
@@ -70,6 +71,8 @@ def create_app():
 | 
				
			|||||||
    Bootstrap(app)
 | 
					    Bootstrap(app)
 | 
				
			||||||
    csrf = CSRFProtect(app)
 | 
					    csrf = CSRFProtect(app)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    app.wsgi_app = ProxyFix(app.wsgi_app, x_proto=1, x_host=1)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return app
 | 
					    return app
 | 
				
			||||||
 | 
					
 | 
				
			||||||
app = create_app()
 | 
					app = create_app()
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,12 +2,12 @@
 | 
				
			|||||||
<meta property="og:locale" content="en_UK" />
 | 
					<meta property="og:locale" content="en_UK" />
 | 
				
			||||||
<meta property="og:type" content="website" />
 | 
					<meta property="og:type" content="website" />
 | 
				
			||||||
<meta property="og:description" content="A web app for taking the Scottish Korfball Association Refereeing Theory Exam on-line." />
 | 
					<meta property="og:description" content="A web app for taking the Scottish Korfball Association Refereeing Theory Exam on-line." />
 | 
				
			||||||
<meta property="og:url" content="{{ url_for(request.endpoint, **request.view_args, _external = True) }}" />
 | 
					<meta property="og:url" content="{{ url_for(request.endpoint, _external = True, **request.view_args) }}" />
 | 
				
			||||||
<meta property="og:site_name" content="Scottish Korfball Association Referee Theory Exam" />
 | 
					<meta property="og:site_name" content="Scottish Korfball Association Referee Theory Exam" />
 | 
				
			||||||
<meta property="og:image" content="{{ url_for('static', filename='favicon.png', _external = True) }}" />
 | 
					<meta property="og:image" content="{{ url_for('static', filename='favicon.png', _external = True) }}" />
 | 
				
			||||||
<meta property="og:image:alt" content="Logo of the SKA Refereeing Exam App" />
 | 
					<meta property="og:image:alt" content="Logo of the SKA Refereeing Exam App" />
 | 
				
			||||||
<meta property="og:image:width" content="1024" />
 | 
					<meta property="og:image:width" content="512" />
 | 
				
			||||||
<meta property="og:image:height" content="1024" />
 | 
					<meta property="og:image:height" content="512" />
 | 
				
			||||||
<meta name="twitter:card" content="summary" />
 | 
					<meta name="twitter:card" content="summary" />
 | 
				
			||||||
<meta name="twitter:description" content="A web app for taking the Scottish Korfball Association Refereeing Theory Exam on-line." />
 | 
					<meta name="twitter:description" content="A web app for taking the Scottish Korfball Association Refereeing Theory Exam on-line." />
 | 
				
			||||||
<meta name="twitter:image" content="{{ url_for('static', filename='favicon.png', _external = True) }}" />
 | 
					<meta name="twitter:image" content="{{ url_for('static', filename='favicon.png', _external = True) }}" />
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user