我有一个由 HTTP 调用触发的 dotnet 5 Azure 函数(dotnet-isolated)。
该函数将由不同的 Azure 函数应用调用,我想使用 Azure AD 保护目标并使用“客户端凭据”OAuth2 流。
我在以下位置找到了一个很好的示例,可以为我的场景提供信息:Microsoft GitHub Sample
我的问题是,该示例使用 WebApi 应用程序作为服务。这可以访问 HttpContext 对象,使用 Microsft.Identity.Web 程序集中称为“ValidateAppRole”的扩展方法
我的 Azure 函数确实有一个 HttpRequestData 类型的参数。这有一个包含键值对的 headers 属性。其中一个键称为“授权”,其值是 Azure AD 提供的访问令牌。我已经通过 jwt.ms 运行了这个令牌,并且可以确认“角色”集合包含我需要验证的自定义角色。所以我知道所需的信息是存在的;我只是不知道如何以编程方式检查它。
由于 dotnet 隔离的 Azure 函数似乎无法访问 HttpContext 对象。如何进行等同于以下的检查?
HttpContext.ValidateAppRole("CustomRoleName");