该帖几乎重复为this问题,但我正在使用新的SignalRCore(1.0.0 alpha2) .<PackageReference Include="Microsoft.AspNetCore.SignalR" Version="1.0.0-alpha2-final" />
在我的.NET Core 2.0中,我使用OpenIddict来验证服务器上的用户 . 在客户端我使用angular2-jwt .
现在我需要知道如何在服务器上连接 Authorization header access_token
?我想我应该在尝试连接服务器时使用自定义请求标头 .
这可以用新的SignalR Core完成吗?我发现this线程提到websockets不支持自定义 Headers ,但我想知道SignalR Core团队是否做了一些魔术来支持这种情况 .
1 回答
当您使用JavaScript客户端时,这是不可能的,因为某些底层API(如webSocket)不允许设置标头 . 这就是您需要使用queryString的原因 . 此外,这thread on github可能很有用 .
如果您正在使用C#客户端设置标头目前是不可能的,但这只是API的限制,应该在将来修复 .
EDIT
SignalR现在具有允许将JWT令牌传递给C#和JavaScript客户端的API . 现在也可以在使用C#客户端时设置标头 .