如果验证授权是使用请求头的。在客户端添加了请求头Authorization,在服务端的hub中也是获取不到的。查看客户端的连接请求的时候发现ws//…中没有请求头,而是包含access_token中,所以需要在服务端处理一下请求,在验证授权前可以通过中间件处理或者在获取请求头前,前把access_token参数值放到请求头里面。
比如:
var authHeader = Request.Headers["Authorization"].ToString();
var access_token = Request.Query["access_token"].ToString();
if (access_token.IsNotNullOrWhiteSpace())
{
Request.Headers["Authorization"] = "Bearer " + access_token;
authHeader = "Bearer " + access_token;
}