帖子几乎与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不支持自定义标头,但我想知道SignalR Core团队是否做了一些魔术来支持这种情况。
答案 0 :(得分:2)
当您使用JavaScript客户端时,这是不可能的,因为某些底层API(如webSocket)不允许设置标头。这就是您需要使用queryString的原因。此外,此thread on github可能很有用。
如果您正在使用C#客户端设置标题目前是不可能的,但这只是API的限制,应该在将来修复。
修改强>
SignalR现在具有允许将JWT令牌传递给C#和JavaScript客户端的API。现在也可以在使用C#客户端时设置标题。