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.9分钟了解!TX双城棋牌辅... 1.9分钟了解!TX双城棋牌辅助功能攻略,TX双城棋牌本来是有辅助攻略(有辅助挂解惑)该软件可以轻松...
玩家交流!丫丫棋牌透视挂功能技... 玩家交流!丫丫棋牌透视挂功能技巧,丫丫棋牌好像是有透视挂技巧(有辅助挂规律)1、丫丫棋牌免费脚本咨询...
发现玩家!吉利比鸡透视功能教程... 发现玩家!吉利比鸡透视功能教程,吉利比鸡一贯真的是有透视教程(有辅助挂详细)1)吉利比鸡免费钻石:进...
教学盘点!番茄大厅辅助器功能工... 教学盘点!番茄大厅辅助器功能工具,番茄大厅总是是有辅助器工具(有辅助挂秘笈)1、金币登录送、破产送、...
分享开挂内幕!大唐棋牌辅助功能... 分享开挂内幕!大唐棋牌辅助功能工具,大唐棋牌确实有辅助工具(有辅助挂功能)分享开挂内幕!大唐棋牌辅助...
必备科技!神赚棋牌开挂功能ap... 必备科技!神赚棋牌开挂功能app,神赚棋牌原来是真的有开挂app(有辅助挂细节)1、超多福利:超高返...
揭秘几款!凑一桌游戏辅助功能脚... 揭秘几款!凑一桌游戏辅助功能脚本,凑一桌游戏都是是有辅助脚本(有辅助挂方略)1、每一步都需要思考,不...
2分钟细说!江山大厅辅助功能教... 2分钟细说!江山大厅辅助功能教程,江山大厅切实是有辅助教程(有辅助挂解惑)1、该软件可以轻松地帮助玩...
查到实测辅助!浙江茶苑辅助器功... 您好,浙江茶苑这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多玩家在这款...
推荐几款新版!榆林打锅子透视功... 推荐几款新版!榆林打锅子透视功能插件,榆林打锅子果然真的是有透视插件(有辅助挂方法)1、全新机制【榆...