我試圖通過sailsjs
和passport
套接字來獲得身份驗證工作。套接字身份驗證方法
這個挑戰似乎是套接字連接沒有會話,sailsjs嘲笑請求對象,導致它沒有安裝Passport中間件。這導致nodejs發出錯誤,說req
對象沒有一個名爲logIn
的方法。
所以,我試着按照@xdissent在這裏提供的代碼片段:Sails.js + Passport.js authentication through websockets,它確實允許我在不丟失錯誤的情況下登錄。或者它..?事實證明,它確實東西,但我不知道什麼。因爲通過不同的(套接字)請求獲取req.user
,我得到一個返回的空對象。
我也查看過redis。這出來了:
redis 127.0.0.1:6379> keys *
1) "waterline:broadcasting:_sequences:id"
2) "sess:aDJI0YHzh17E3AMjtKsZSijs"
redis 127.0.0.1:6379> get "sess:aDJI0YHzh17E3AMjtKsZSijs"
"{\"cookie\":{\"httpOnly\":true,\"path\":\"/\"}}"
redis 127.0.0.1:6379>
所以有一個會議,只是沒有用戶存儲在它。
長期以來,我如何獲得Passport和sailsjs以便在套接字上播放更多內容。
更新: 我想了解一些有關會議,套接字和餅乾與帆一般信息。所以如果我在會話中設置了一些東西,並刷新瀏覽器,我希望它仍然在那裏。如果我在與套接字連接相同的頁面上進行xhr調用,是不是應該是同一個會話?
upvoting這是它的,我已經沒有搞清楚一個答案一個很好的問題。 – gorelative
+1您是否已經找到解決方案? – HaNdTriX
你有沒有試過https://github.com/jfromaniello/passport.socketio –