Przy domyślnej sesji Flask wydaje się możliwe udostępnianie (z dostępem tylko do odczytu) danych sesji w momencie zainicjowania przestrzeni nazw.
session_dict=dict(session)
socketio_manage(request.environ, {'/news': NewsNamespace}, request=session_dict)
session_dict
jest wtedy dostępny jako self.request
w przestrzeni nazw. To jest hack, ale sesje Flask/werkzeug nie działają i tak poza kontekstem żądania.
Umieszczam identyfikator sesji (wygenerowany losowo uuid) w sesji Flask. Następnie zarówno widoki Flask, jak i przestrzeń nazw, zarówno znają identyfikator sesji, jak i oba mogą czytać/zapisywać dane w sesji po stronie serwera w Redis lub innym magazynie danych, z identyfikatorem sesji jako kluczem.
To jest właśnie rozwiązanie, którego używam do udostępniania sesji między Flask i gevent-socketio; Nie próbowałem Beaker i nie jestem pewien, jakie masz problemy z jego używaniem lub czy istnieje lepsze rozwiązanie.