ASP.NETCore策略检查中缺少`aud`声明导致授权失败,但是该声明在id令牌中存在
创始人
2024-09-17 19:30:09
0

可以通过在添加OpenID Connect身份验证时,显式地将audience参数设置为期望的客户端标识符来解决此问题。这样,ASP.NET Core身份验证将确保检查id令牌中的aud声明与预期的值相匹配。

以下是一个示例:

services.AddAuthentication(options =>
{
    options.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;
    options.DefaultChallengeScheme = OpenIdConnectDefaults.AuthenticationScheme;
})
.AddCookie()
.AddOpenIdConnect(options =>
{
    options.Authority = "https://localhost:5001";
    options.ClientId = "YourClientId";
    options.ClientSecret = "YourClientSecret";
    options.ResponseType = "code";
    options.Scope.Add("openid");
    options.Scope.Add("profile");
    options.SaveTokens = true;
    options.GetClaimsFromUserInfoEndpoint = true;
    options.Events = new OpenIdConnectEvents
    {
        OnTokenValidated = context =>
        {
            var expectedAudience = "YourExpectedAudience";
            var tokenAudience = context.SecurityToken.Audiences.FirstOrDefault();
            if (!string.Equals(tokenAudience, expectedAudience, StringComparison.OrdinalIgnoreCase))
            {
                context.Fail("Invalid audience.");
            }
            return Task.CompletedTask;
        }
    };
});

此示例中,我们通过在OpenID Connect选项中设置Events属性来执行自定义逻辑。在这种情况下,我们检查id令牌中的aud声明是否等于期望的值。如果不是,则调用context.Fail()方法以指示验证失败。这将阻止用户进行身份验证,并在授权时触发一个403响应。

相关内容

热门资讯

透视解迷!pokerrrr2辅... 透视解迷!pokerrrr2辅助(透视)哈糖大菠萝攻略,教程方案(有挂秘诀)-哔哩哔哩1、哈糖大菠萝...
透视解谜!WePoKer辅助器... 透视解谜!WePoKer辅助器(透视)wepoker私人局俱乐部辅助,教程积累(有挂规律)-哔哩哔哩...
透视开挂!sohoo竞技联盟辅... 透视开挂!sohoo竞技联盟辅助器(透视)德州局透视脚本免费版下载手机版,教程妙计(有挂神器)-哔哩...
透视揭幕!aapoker能控制... 透视揭幕!aapoker能控制牌吗(透视)epoker底牌透视,教程资料(确实有挂)-哔哩哔哩1、玩...
透视分享!wepoker有辅助... 您好,wepoker有辅助器吗这款游戏可以开挂的,确实是有挂的,需要了解加去威信【485275054...
透视推荐!wepoker软件辅... 透视推荐!wepoker软件辅助程序(透视)wepoker软件辅助程序,教程烘培(有挂解密)-哔哩哔...
透视科普!hhpoker是正规... 透视科普!hhpoker是正规的吗(透视)hhpoker辅助器视频,教程窍要(详细教程)-哔哩哔哩1...
透视解密!xpoker辅助助手... 透视解密!xpoker辅助助手(透视)hhpoker德州挂真的有吗,教程手筋(真的有挂)-哔哩哔哩;...
透视科普!we poker游戏... 透视科普!we poker游戏下(透视)poker world辅助器,教程法子(有挂规律)-哔哩哔哩...
透视解谜!wepoker手机插... 透视解谜!wepoker手机插件(透视)wepoker私人局怎么玩,教程方式(的确有挂)-哔哩哔哩1...