ASP.Net Core 2.2 web api - 如何将JwtSecurityToken的受众设置为当前请求者的URL/主机,以供ajax调用使用
创始人
2024-09-14 16:30:27
0

要将JwtSecurityToken的受众设置为当前请求者的URL/主机,您可以使用ASP.Net Core的中间件来解决这个问题。以下是一个解决方案的代码示例:

  1. 创建一个自定义的中间件类,用于获取当前请求的URL/主机:
public class AudienceMiddleware
{
    private readonly RequestDelegate _next;

    public AudienceMiddleware(RequestDelegate next)
    {
        _next = next;
    }

    public async Task Invoke(HttpContext context)
    {
        // 获取当前请求的URL/主机
        var request = context.Request;
        var url = $"{request.Scheme}://{request.Host}";

        // 将URL/主机存储到上下文中
        context.Items["Audience"] = url;

        await _next.Invoke(context);
    }
}
  1. 注册中间件类:

在Startup.cs文件的Configure方法中注册中间件类,以确保它在请求处理管道中正确地执行:

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    // ...

    app.UseMiddleware();

    // ...
}
  1. 在控制器中使用当前请求的URL/主机作为受众:

在您的控制器中,您可以使用HttpContext.Items获取存储在上下文中的URL/主机,并将其设置为JwtSecurityToken的受众:

[Route("api/[controller]")]
[ApiController]
public class MyApiController : ControllerBase
{
    [HttpGet]
    public IActionResult GetToken()
    {
        // 获取当前请求的URL/主机
        var audience = HttpContext.Items["Audience"].ToString();

        // 创建JwtSecurityToken,并设置受众
        var tokenHandler = new JwtSecurityTokenHandler();
        var token = tokenHandler.CreateJwtSecurityToken(
            audience: audience,
            // 其他属性...
        );

        // 返回token
        return Ok(token);
    }
}

这样,当您调用GetToken方法时,它将返回一个包含当前请求URL/主机作为受众的JwtSecurityToken。

请注意,您还需要在控制器中添加其他所需的属性(如颁发者、加密密钥等),这里只提供了一个简化的示例。

相关内容

热门资讯

推荐一款“微乐手游微乐辅助免费... 推荐一款“微乐手游微乐辅助免费”先前有开挂辅助安装(有挂详情)这是一款可以让一直输的玩家,快速成为一...
玩家必看科普“白银胡乐辅助最简... 玩家必看科普“白银胡乐辅助最简单三个步骤”原生有开挂辅助挂(真的有挂);无需打开直接搜索薇:1367...
解密关于“娱网皮球看穿器”本然... 解密关于“娱网皮球看穿器”本然有开挂辅助平台(讲解有挂) 了解更多开挂安装加(136704302)微...
专业讨论“小程序广东雀神智能插... 专业讨论“小程序广东雀神智能插件安装下载”本来有辅助工具(的确有挂);无需打开直接搜索加薇13670...
信息共享“大唐麻将辅助软件”从... 信息共享“大唐麻将辅助软件”从来有开挂辅助器(有挂技巧);亲,大唐麻将辅助软件这款游戏原来确实可以开...
一秒答解“青橙竞技游戏辅助”原... 一秒答解“青橙竞技游戏辅助”原本有辅助开挂软件(的确有挂);无需打开直接搜索加薇136704302(...
我来教大家“随意玩透视辅助”最... 随意玩透视辅助开挂教程视频分享装挂详细步骤在当今的网络游戏中,随意玩透视辅助作为一种经典的娱乐方式,...
透视教学“杭州都莱辅助软件”原... 您好:这款杭州都莱辅助软件游戏是可以开挂的,确实是有挂的,很多玩家在这款杭州都莱辅助软件游戏中打牌都...
必备教程“浙江游戏大厅辅助器”... 必备教程“浙江游戏大厅辅助器”固有有辅助脚本(竟然有挂);打开点击测试直接进入微信(13670430...
透视教程“菠萝辅助器免费版的功... 透视教程“菠萝辅助器免费版的功能介绍”原先有开挂辅助挂(有挂方式);无需打开直接搜索微信(13670...