首页 文章

来自Angular的SignalR Core中的JWT认证

提问于
浏览
0

该帖几乎重复为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 回答

  • 2

    当您使用JavaScript客户端时,这是不可能的,因为某些底层API(如webSocket)不允许设置标头 . 这就是您需要使用queryString的原因 . 此外,这thread on github可能很有用 .

    如果您正在使用C#客户端设置标头目前是不可能的,但这只是API的限制,应该在将来修复 .

    EDIT

    SignalR现在具有允许将JWT令牌传递给C#和JavaScript客户端的API . 现在也可以在使用C#客户端时设置标头 .

相关问题