2017-10-13 65 views
0

該帖子幾乎與this相同,但我使用的是新的SignalRCore(1.0.0 alpha2)。
<PackageReference Include="Microsoft.AspNetCore.SignalR" Version="1.0.0-alpha2-final" />來自Angular的SignalR Core中的JWT驗證

在我的.NET Core 2.0中,我使用OpenIddict對服務器上的用戶進行身份驗證。在客戶端上,我使用angular2-jwt

現在我需要知道如何在服務器上連接Authorization header access_token?我會假設在嘗試連接服務器時應使用自定義請求標頭。

這可以用新的SignalR Core來完成嗎?我發現this線程提到websockets不支持自定義標題,但我想知道SignalR Core團隊是否做了一些神奇的事情來支持這種情況。

回答

2

當您使用JavaScript客戶端時,這是不可能的,因爲一些底層API(如webSocket)不允許設置標題。這就是爲什麼你需要使用queryString。此外,這thread on github可能會有用。

如果您正在使用C#客戶端設置標頭目前尚不可能,但這僅僅是API的限制,應在將來修復。

編輯

SignalR現在有API,允許JWT令牌傳遞到C#和JavaScript客戶端。現在也可以在使用C#客戶端時設置標題。