我一直在構建一個到目前爲止完全由ASP.NET Web API調用組成的Web服務。我現在需要將SignalR加入組合中,但我想知道如何保持安全性方面的一致性。SignalR - 使用訪問令牌進行身份驗證
我目前正在使用OAuth承載標記(使用OWIN認證),所以我的客戶端基本上會有一個access_token,我通常會簡單地將它添加到任何Web API調用的標頭中。但是,如何使用SignalR執行相同的操作(或類似操作)?我會在創建連接或每次通話時進行身份驗證嗎?而且,最重要的是,我將如何首先指定訪問令牌?
謝謝。
JavaScript WebSocket API不允許設置請求標頭。您最好的選擇是在請求url查詢字符串上設置access_token。 –
謝謝。我可以這樣做,但我如何配置服務器端來讀取查詢字符串並確定並設置我的集線器的身份? – Barguast
@Barguast你可以創建一個HubPipelineModule,爲有效標記設置用戶標識或拒絕訪問無效標記。你需要重寫這兩種方法才能工作:「OnBeforeConnect」和「OnBeforeIncoming」。 http://msdn.microsoft.com/en-us/library/microsoft.aspnet.signalr.hubs.hubpipelinemodule(v=vs.118).aspx – halter73