AngularSignalR认证问题
创始人
2024-10-29 15:31:40
0
  1. 在服务器端实现SignalR的Token认证逻辑。

  2. 通过使用SignalR的JwtBearer认证提供程序,配置服务器端SignalR发送授权令牌。

  3. 在客户端上使用JwtInterceptor拦截器,将Jwt令牌添加到每个SignalR请求的标头中。 示例: [Authorize] public class ChatHub : Hub { // 必须与前端代码一致 private const string HUB_PATH = "/mychat";

    public async Task SendMessage(string message) { await Clients.All.SendAsync("ReceiveMessage", message); } public override async Task OnConnectedAsync() { // 通过获取JWT令牌,验证并处理请求 var httpContext = Context.GetHttpContext(); var header = httpContext.Request.Headers["Authorization"].ToString();

     // 获取JWT令牌
     var token = header.Split(" ")[1];
    
     // 验证JWT令牌
     var validatedToken = new JwtSecurityToken(token);
    
     // 处理请求,没有问题才能继续
     if (validatedToken.ValidTo > DateTime.Now)
     {
        await base.OnConnectedAsync();
     }
     else
     {
        // 鉴定没过就断开连接
        Context.Abort();
     }
    

    } }

  4. 在Angular app.module.ts文件中,添加JwtInterceptor拦截器: import { HTTP_INTERCEPTORS } from '@angular/common/http'; import { JwtInterceptor } from './jwt.interceptor'; @NgModule({ ... providers: [ ... { provide: HTTP_INTERCEPTORS, useClass: JwtInterceptor, multi: true } ] }) export class AppModule { } 示例: import { Injectable } from '@angular/core'; import { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http'; import { AuthService } from './auth.service'; import { Observable } from 'rxjs'; @Injectable() export class JwtInterceptor implements HttpInterceptor { constructor(private authService: AuthService) { } intercept(request: HttpRequest, next: Http

相关内容

热门资讯

科技揭秘!微信途游有辅助吗,h... 您好:微信途游有辅助吗这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌...
玩家必看科普!乐玩游戏辅助工具... 玩家必看科普!乐玩游戏辅助工具,pokemmo手机辅助软件,介绍教程(有挂工具);详细乐玩游戏辅助工...
最新通报!填大坑辅助视频,we... 最新通报!填大坑辅助视频,wepoker辅助器最新版本更新内容,切实教程(有挂解惑);1、让任何用户...
2分钟细说!微乐宁夏小程序插件... 2分钟细说!微乐宁夏小程序插件,hardrock透视工具,扑克教程(详细教程)是一款可以让一直输的玩...
盘点一款!欢乐达人程序源码,德... 盘点一款!欢乐达人程序源码,德州透视是真的吗,AI教程(有挂解惑)是一款可以让一直输的玩家,快速成为...
重磅来袭!方片十三张外挂,聚星... 重磅来袭!方片十三张外挂,聚星ai辅助工具激活码,AI教程(有挂教程)是一款可以让一直输的玩家,快速...
总算了解!斗棋辅助脚本视频,拱... 总算了解!斗棋辅助脚本视频,拱趴大菠萝万能挂图解,扑克教程(有挂方针)是一款可以让一直输的玩家,快速...
技术分享!jj斗地主外卦,cl... 技术分享!jj斗地主外卦,cloudpoker外挂,规律教程(有挂技巧);小薇(透视辅助)致您一封信...
专业讨论!奇迹陕西游戏辅助,w... 专业讨论!奇迹陕西游戏辅助,wepoker怎么买辅助,揭秘教程(有挂秘籍);1、让任何用户在无需AI...
重大发现!哈狗智能辅助,hhp... 重大发现!哈狗智能辅助,hhpoker真的有透视吗,2025教程(有挂辅助);重大发现!哈狗智能辅助...