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

相关内容

热门资讯

教程攻略!菠萝辅助破解版,广西... 教程攻略!菠萝辅助破解版,广西友乐辅助器,详细挂(有挂讲解)1、不需要AI权限,帮助你快速的进行广西...
热点讨论!广东雀神挂件脚本开挂... 热点讨论!广东雀神挂件脚本开挂,新畅游互娱辅助,详细神器(真是有挂)该软件可以轻松地帮助玩家将广东雀...
盘点十款!福建天庭啊开心辅助软... 盘点十款!福建天庭啊开心辅助软件,开心泉州小程序辅助哪里查看,详细脚本(有挂细节)进入游戏-大厅左侧...
最新通报!雀友会广东潮汕bus... 最新通报!雀友会广东潮汕bus,九哥玩辅助,详细脚本(有挂方法)1、金币登录送、破产送、升级送、活动...
科技通报!福州十八扑破解,大唐... 科技通报!福州十八扑破解,大唐辅助软件,详细工具(讲解有挂)运福州十八扑破解辅助工具,进入游戏界面。...
大家学习交流!萍乡打滚筒六副攻... 大家学习交流!萍乡打滚筒六副攻略,随意玩房卡代理有挂吗,详细神器(真的有挂)1、打开软件启动之后找到...
热点推荐!微乐广西小程序,老友... 热点推荐!微乐广西小程序,老友内蒙麻将有挂吗,详细教程(有挂功能)1、老友内蒙麻将有挂吗模拟器是什么...
关于!新畅游互娱辅助app,广... 关于!新畅游互娱辅助app,广东闲来辅助神器免费版,详细工具(有挂教学)1)广东闲来辅助神器免费版有...
今日科普!吉祥填大坑机制原来,... 今日科普!吉祥填大坑机制原来,九九联盟点控吗辅助器,详细软件(有挂细节)1、起透看视 九九联盟点控吗...
揭秘真相!微乐游戏辅助脚本安卓... 揭秘真相!微乐游戏辅助脚本安卓,吉祥填大坑辅助器攻略,详细挂(有挂方略)亲,关键说明,微乐游戏辅助脚...