相关疑难解决方法(0)

如何在 websocket 请求期间验证 JWT。.net核心

我正在开发一个使用 JWT 身份验证和 websockets 的小型 .net 核心应用程序。

我已成功实现为标准 Web api 控制器生成和验证令牌。但是,我也想验证WebSocket请求的令牌,这当然不适用于[Authorize]属性。

我已经像这样设置了我的中间件管道:

app.UseWebSockets();
app.Use(async (http, next) => {
      if (http.WebSockets.IsWebSocketRequest == false) {
          await next();
          return;
      }
      /// Handle websocket request here. How to check if token is valid?
});

// secretKey contains a secret passphrase only your server knows
var secretKey = .....;
var signKey = new SigningCredentials (
    new SymmetricSecurityKey(Encoding.ASCII.GetBytes(secretKey)),
    SecurityAlgorithms.HmacSha256
);

var tokenValidationParameters = new TokenValidationParameters {
    ValidateIssuer = false,
    ValidateAudience = false, …
Run Code Online (Sandbox Code Playgroud)

c# asp.net asp.net-web-api asp.net-core-mvc asp.net-core

5
推荐指数
2
解决办法
4430
查看次数