对于一个项目,我有一个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#服务器上提取这个特定的令牌。问题是,我到处都找不到它。当用户在方法HubCallerContext
中连接或用户自己调用方法时,只提供public override async Task OnConnectedAsync()
类型的Context
。但是此Context
不提供给定的身份验证令牌。我怎么才能提取出来呢?
发布于 2021-03-08 19:23:50
据我所知,如果你想在hub方法中获得令牌,你可以参考下面的代码来获得它。
var accessToken = Context.GetHttpContext().Request.Query["access_token"];
https://stackoverflow.com/questions/66527839
复制相似问题