【问题标题】:SignalR get bearer token on ServerSignalR 在服务器上获取不记名令牌
【发布时间】:2021-06-06 05:13:07
【问题描述】:

对于一个项目,我有一个 C# asp.net 核心服务器和一个 Angular Web 客户端应用程序。我在不记名令牌上关注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() 中连接或用户自己调用方法时,仅提供HubCallerContext 类型的Context。但是这个Context不提供给定的身份验证令牌。我怎样才能提取这个?

【问题讨论】:

    标签: c# signalr signalr-hub asp.net-core-signalr


    【解决方案1】:

    据我所知,如果你想在hub方法中获取token,可以参考下面的代码来获取。

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

    【讨论】:

      猜你喜欢
      • 2020-08-20
      • 2020-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多