我们拥有一系列API,这些API托管在Azure App Services中,并受ASP.NET核心中间件的保护。
导航到URL时,我们使用Swagger列出端点。如果您有一个有效的令牌,您可以调用端点。
我们希望保护整个URL,因此只有Azure AD中的用户才能访问该站点并查看端点。
我想我们可以通过将Easy Auth设置为使用azure Active Directory登录来实现此目的。
1:此设置是否会对中间件产生任何影响?或者它只是作为“第一层”保护,只有在首先通过Azure AD进行身份验证后转发请求?
2:是否有另一种(更好的)方法来解决这种情况?
(我想我们还需要将allowedAudiences / domain_hint设置为我们自己的AD)
如果用户已通过您在App Service的身份验证/授权刀片中配置的任何机制进行身份验证,则它将作为第一层并仅转发请求。
至于你的第二个问题,它实际上取决于你需要的粒度。如果每个API调用都需要授权,那么我认为使用Easy Auth没有任何问题。但是,有没有理由,因为你已经配置了中间件,为什么使用[Authorize]
不再足够?