rainxie
rainxie

Reputation: 39

Get session in Flask by session id

class MsgConnection(tornado.websocket.WebSocketHandler):
   def on_message(self,message):
      session_id = self.get_cookie('session')
      session = get_session_in_flask(session_id)

How to code get_session_in_flask?

Upvotes: 1

Views: 1558

Answers (1)

rainxie
rainxie

Reputation: 39

def get_session_in_flask(secret_key, cookie_str):
    import hashlib
    from itsdangerous import URLSafeTimedSerializer
    from flask.sessions import TaggedJSONSerializer
    salt = 'cookie-session'
    serializer = TaggedJSONSerializer()
    signer_kwargs = {
        'key_derivation': 'hmac',
        'digest_method': hashlib.sha1
    }
    s = URLSafeTimedSerializer(secret_key, salt=salt, serializer=serializer, signer_kwargs=signer_kwargs)
    return s.loads(cookie_str)

Upvotes: 2

Related Questions