Azure AD应用程序在同一租户下授予具有不同AD应用程序范围的承载令牌

我在下有一个 AD应用(客户端ID:xyz,范围:xyz_123),还有另一个 AD应用(客户端ID:abc,作用域:abc_123) >同一租户


假设我在服务中的jwt令牌验证代码类似于

.AddJwtBearer(o =>
        {
            o.Authority = Configuration["Authentication:Authority"];
            o.TokenValidationParameters = new microsoft.IdentityModel.Tokens.TokenValidationParameters
            {
                ValidAudiences = new List<string>
                {
                    xyz,xyz_123
                }
            };

所以现在,当我生成一个带有Grant_type作为客户端凭据和客户端ID:abc和resource_id:xyz_123 的承载令牌并启动我的服务时,身份验证就成功了。


是这种预期的行为。为什么当AD应用程序(客户端ID:abc)被没有的资源/作用域(xyz_123)击中时,会授予承载令牌。同一租户下的所有AD应用程序实例都可以访问其所有范围吗?

poee223 回答:Azure AD应用程序在同一租户下授予具有不同AD应用程序范围的承载令牌

是的。 您必须检查令牌权限才能正确保护API。

过去可以在租户边界上执行此操作,但现在只能在租户内部:sample

您需要检查您的应用收到的任何访问令牌是否具有至少一个有效的委派/应用许可:https://joonasw.net/view/cross-tenant-token-attacks-now-harder-in-azure-ad

本文链接:https://www.f2er.com/3159873.html

大家都在问