SignalR 在服务器上获取承载令牌

SignalR get bearer token on Server

对于一个项目,我有一个 C# asp.net 核心服务器和一个 Angular 网络客户端应用程序。我在不记名令牌上关注 SignalR documentation。它指出,为了提供身份验证令牌,您可以按如下方式传递它(文档的复制粘贴)。

let connection = new signalR.HubConnectionBuilder()
    .withUrl("/chathub", {
        accessTokenFactory: () => {
            // Get and return the access token.
            // This function can return a JavaScript Promise if asynchronous
            // logic is required to retrieve the access token.
        }
    })
    .build();

但是现在,我想在我的 C# 服务器上提取这个特定的令牌。问题是,我无法在任何地方找到它。当用户在方法 public override async Task OnConnectedAsync() 中连接或用户自己调用方法时,仅提供类型 HubCallerContextContext。但是这个 Context 不提供给定的身份验证令牌。我该如何提取它?

据我所知,如果你想通过hub方式获取token,可以参考下面的代码获取。

 var accessToken = Context.GetHttpContext().Request.Query["access_token"];