2014-12-02 135 views
1

我正在使用Flask-Login來管理我的應用上的用戶,並且我還讓用戶在登錄時加入了一個房間。使用flask-socketio和flask-login進行身份驗證的問題

消息是從前端發出的,用戶在登錄完成後加入房間。

#User Room 
@socketio.on('joinUserRoom') 
@login_required 
def join_user_room(): 
    room=current_user.slug 
    join_room(room) 

問題是,這個login_required從未被驗證過。未經授權,我失敗了。即使用戶剛剛登錄。當我刪除@login_required並將打印(current_user)放入時,我得到匿名用戶mixin。

('CURRENT USER JOIN ROOM', <flask_login.AnonymousUserMixin object at 0x7ff40410fcd0>) 

我已經嘗試了一堆瘋狂的東西,但似乎沒有任何工作,任何想法?

回答

0

嘗試使用命名空間,

#User Room 
@socketio.on('joinUserRoom', namespace='/test') 
@login_required 
def join_user_room(): 
    room=current_user.slug 
    join_room(room) 
    emit('my response', {'data': username + ' has joined'}, room=room, broadcast=True)