From a17dfd2087ef56ee0754687cd96e83ab28fb779d Mon Sep 17 00:00:00 2001
From: Benjamin Bertrand <benjamin.bertrand@esss.se>
Date: Fri, 27 Apr 2018 09:26:27 +0200
Subject: [PATCH] Change Flask-Session redis_store config_prefix

The "REDIS_URL" variable is hard-coded in RQ Dashboard.

REDIS_URL was used by redis_store that is passed to Flask Session.
The url variable used by Flask-Redis can be changed by setting the
config_prefix.

1. Rename REDIS_URL to SESSION_REDIS_URL
2. Rename redis_store to session_redis_store
3. Use "SESSION_REDIS" config_prefix to initialize session_redis_store

This makes it clear that this Redis instance is used by Flask-Session.
REDIS_URL will be used for RQ.
---
 app/extensions.py | 2 +-
 app/factory.py    | 6 +++---
 app/settings.py   | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/app/extensions.py b/app/extensions.py
index 707534c..f0dc0cb 100644
--- a/app/extensions.py
+++ b/app/extensions.py
@@ -42,6 +42,6 @@ admin = Admin(template_mode='bootstrap3')
 mail = Mail()
 jwt = JWTManager()
 toolbar = DebugToolbarExtension()
-redis_store = FlaskRedis()
+session_redis_store = FlaskRedis(config_prefix='SESSION_REDIS')
 fsession = Session()
 cache = Cache()
diff --git a/app/factory.py b/app/factory.py
index 75430d1..94371ed 100644
--- a/app/factory.py
+++ b/app/factory.py
@@ -14,7 +14,7 @@ from flask import Flask
 from whitenoise import WhiteNoise
 from . import settings, models
 from .extensions import (db, migrate, login_manager, ldap_manager, bootstrap,
-                         admin, mail, jwt, toolbar, redis_store, fsession, cache)
+                         admin, mail, jwt, toolbar, session_redis_store, fsession, cache)
 from .admin.views import (AdminModelView, ItemAdmin, UserAdmin, TokenAdmin,
                           NetworkAdmin)
 from .main.views import bp as main
@@ -86,8 +86,8 @@ def create_app(config=None):
     mail.init_app(app)
     jwt.init_app(app)
     toolbar.init_app(app)
-    redis_store.init_app(app)
-    app.config['SESSION_REDIS'] = redis_store
+    session_redis_store.init_app(app)
+    app.config['SESSION_REDIS'] = session_redis_store
     fsession.init_app(app)
     cache.init_app(app)
 
diff --git a/app/settings.py b/app/settings.py
index 41bee74..1694d16 100644
--- a/app/settings.py
+++ b/app/settings.py
@@ -27,7 +27,7 @@ JWT_BLACKLIST_TOKEN_CHECKS = ['access', 'refresh']
 JWT_ACCESS_TOKEN_EXPIRES = timedelta(hours=12)
 
 SESSION_TYPE = 'redis'
-REDIS_URL = 'redis://redis:6379/0'
+SESSION_REDIS_URL = 'redis://redis:6379/0'
 CACHE_TYPE = 'redis'
 CACHE_REDIS_URL = 'redis://redis:6379/1'
 RQ_REDIS_URL = 'redis://redis:6379/2'
-- 
GitLab