SignalR提供授权令牌

Bar*_*ast 8 signalr signalr-hub

我很难决定如何最好地为我的SignalR服务添加身份验证和授权.

目前,它与WebApi2 Web服务一起托管在Owin中.我使用OAuth2持有者令牌来验证这些令牌,并且它完美无缺.但是,我想知道它们是否适合SignalR?

我的客户端是基于JavaScript的,SignalR使用WebSockets(如果可用).这意味着我无法使用Authorization标头.我发现在连接之前我可以使用qs属性提供令牌.但是,OAuth2访问令牌当然会过期(在我的实现中相对较短).我假设更新qs属性一旦连接(特别是与Web套接字),将不会有所作为.

我想我的问题是什么是向SignalR提供安全令牌,票证或任何类型的授权信息的最佳方式?最好是一种可以在我的WebApi和SignalR上保持一致的方式,但我想知道我应该怎么做.

谢谢

Rag*_*ghu 1

已经有一段时间了 - 但我们过去常常在 signalR 请求中查找 auth cookie,以确保只有登录的用户才能订阅 signalr 通知。

它不处理令牌过期的情况 - 因为仅在连接时检查 cookie。这对我们来说不是问题。