File tree Expand file tree Collapse file tree 3 files changed +16
-4
lines changed
plugins/flask_yoti/flask_yoti Expand file tree Collapse file tree 3 files changed +16
-4
lines changed Original file line number Diff line number Diff line change 1
1
from functools import wraps
2
2
from flask import redirect , session , url_for
3
- from flask .sessions import SecureCookieSession
4
3
5
4
from .context_storage import activity_details_storage
6
5
from .settings import get_config_value
6
+ from .helpers import is_cookie_session
7
7
8
8
9
9
def yoti_authenticated (view_func ):
10
10
@wraps (view_func )
11
11
def _decorated (* args , ** kwargs ):
12
12
user_id = session .get ('yoti_user_id' )
13
- if isinstance (session , SecureCookieSession ):
13
+ if not is_cookie_session (session ):
14
14
activity_details = session .get ('activity_details' )
15
15
else :
16
16
activity_details = activity_details_storage .get (user_id )
Original file line number Diff line number Diff line change 8
8
redirect ,
9
9
url_for ,
10
10
)
11
- from flask .sessions import SecureCookieSession
12
11
from yoti import Client
13
12
14
13
from .context_storage import activity_details_storage
15
14
from .decorators import yoti_authenticated
16
15
from .context_processors import yoti_context
17
16
from .settings import get_config_value
17
+ from .helpers import is_cookie_session
18
18
19
19
20
20
flask_yoti_blueprint = Blueprint ('flask_yoti' , __name__ ,
@@ -34,7 +34,7 @@ def auth():
34
34
client = Client (client_sdk_id , key_file_path )
35
35
activity_details = client .get_activity_details (token )
36
36
session ['yoti_user_id' ] = activity_details .user_id
37
- if isinstance (session , SecureCookieSession ):
37
+ if not is_cookie_session (session ):
38
38
session ['activity_details' ] = dict (activity_details )
39
39
else :
40
40
activity_details_storage .save (activity_details )
Original file line number Diff line number Diff line change
1
+ from flask .sessions import SecureCookieSession
2
+ from werkzeug .local import LocalProxy
3
+
4
+
5
+ def is_cookie_session (session ):
6
+ if isinstance (session , SecureCookieSession ):
7
+ return True
8
+ if not isinstance (session , LocalProxy ):
9
+ return False
10
+ if isinstance (session ._get_current_object (), SecureCookieSession ):
11
+ return True
12
+ return False
You can’t perform that action at this time.
0 commit comments