Asp.netcore中循环自定义声明的登录问题。
创始人
2024-09-18 17:00:13
0

在Asp.net core中,我们可以使用JwtBearer身份验证来验证用户,并在其上下文中添加自定义声明。有时,我们可能需要循环添加自定义声明时,解决方法如下。

  1. 在Startup.cs中,添加如下代码:

services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme) .AddJwtBearer(options => { options.TokenValidationParameters = new TokenValidationParameters { ValidateIssuer = true, ValidateAudience = true, ValidateLifetime = true, ValidateIssuerSigningKey = true, ValidIssuer = Configuration["JWT:Issuer"], ValidAudience = Configuration["JWT:Audience"], IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(Configuration["JWT:SecretKey"])), ClockSkew = TimeSpan.Zero };

        // Add event to add custom claims
        options.Events = new JwtBearerEvents
        {
            OnTokenValidated = context =>
            {
                var customClaims = new List
                {
                    new Claim("customClaim1", "value1"),
                    new Claim("customClaim2", "value2")
                };

                var identity = context.Principal.Identity as ClaimsIdentity;
                identity?.AddClaims(customClaims);
                return Task.CompletedTask;
            }
        };
    });

在'OnTokenValidated”事件中,我们可以添加自定义声明。这里我们添加了两个自定义声明:'customClaim1”和'customClaim2”。

  1. 在控制器中,添加以下代码:

[HttpGet] [Authorize] public IActionResult Get() { var claimsIdentity = (ClaimsIdentity)User.Identity; var customClaims = claimsIdentity.Claims.Where(x => x.Type.StartsWith("customClaim")).ToList(); return Ok(customClaims); }

这将返回所有以'customClaim”开头的声明。如果我们在上面的代码示例中添加了两个自定义声明,则此方法将返回这两个声明。

通过在JwtBearerOptions中添加'OnTokenValidated”事件,我们可以循环添加自定义声明。在控制器中,我们可以使用User.Identity.Claims获取所有声明并获得自定义声明的列表。

相关内容

热门资讯

热点讨论!陕麻圈延安辅助(透视... 热点讨论!陕麻圈延安辅助(透视)wpk俱乐部是真的吗(辅助教程确实有挂) 了解更多开挂安装加(136...
大神推荐!中至余干有挂装吗(透... 大神推荐!中至余干有挂装吗(透视)hhpoker脚本下载(必备教程有挂透视);无需打开直接搜索加薇1...
透视有挂!有哪些免费的wpk辅... >>您好:有哪些免费的wpk辅助码确实是有挂的,很多玩家在这款有哪些免费的wpk辅助码游戏中打牌都会...
玩家交流!广西友乐解码器下载安... 大家好,今天小编来为大家解答广西友乐解码器下载安装这个问题咨询软件客服可以免费测试直接加微信(136...
记者发布!wepoker俱乐部... sohoo竞技联盟辅助器是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可...
热点讨论!福建天天开心辅助器真... 热点讨论!福建天天开心辅助器真的假的(透视)wpk有那种辅助吗(科技教程确实有挂) >>您好:软件加...
总算了解!友玩广西辅助联系方式... 友玩广西辅助联系方式是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可以加...
发现一款!三哥玩辅助器软件(透... 三哥玩辅助器软件 无需打开直接搜索微信:136704302本司针对手游进行,选择我们的四大理由: 1...
透视肯定!山西扣点点透视插件下... 山西扣点点透视插件下载链接是一款专注玩家量身打造的游戏记牌类型软件,在山西扣点点透视插件下载链接这款...
今日焦点!甘肃白银麻将辅助软件... 今日焦点!甘肃白银麻将辅助软件(透视)wepoker私人局透视教程(AA德州教程讲解有挂) 【无需打...