当jwt cookie过期时,SignalR客户端获得403禁止错误

时间:2016-03-08 05:12:14

标签: asp.net authentication signalr jwt

我的SignalR应用程序使用JWT身份验证cookie进行身份验证。为了测试,我将jwt exp有效负载设置为3分钟。

我在Chrome浏览器中测试过,使用serverSentEvent进行传输。

我在页面上有一个按钮,它将触发Hub的服务器方法。

3分钟后,当我点击按钮时。集线器将响应403禁止错误。我想这是因为我的jwt令牌过期了。

但是,如果我重新加载页面,则集线器仍然连接并启动。该页面仍然使用发送到服务器的相同cookie。当我点击按钮触发服务器的方法时。这次它不会返回403错误。服务器方法仍然被调用。但在server方法中,Context.User.Identity.IsAuthenticated = false。

我无法理解为什么第一次加载会触发403错误,但不会重新加载页面。

我想捕获对signalr的非授权访问,如果jwk令牌已过期或包含无效数据,我将重定向到登录页面。

0 个答案:

没有答案