1

我们目前正在使用 Azure App Service 运行我们的 Web API。到目前为止,没有使用或不需要身份验证。现在我们想将身份验证添加到一个新方法中。

此处描述了 Azure 内置身份验证。由于我们希望在没有用户交互的情况下由另一台服务器(不在 Azure 中运行)查询数据,因此考虑使用守护程序服务器解决方案。为此,需要在 Azure AD 中为守护程序应用程序创建应用程序注册,并编辑通过 Web API 的内置身份验证创建的应用程序注册。

需要以下代码,这需要几个 NuGet 包。

public void Configuration(IAppBuilder app)
{
    ConfigureAuth(app);
}

private void ConfigureAuth(IAppBuilder app)
{
    app.UseWindowsAzureActiveDirectoryBearerAuthentication(
        new WindowsAzureActiveDirectoryBearerAuthenticationOptions
        {
            Tenant = <tenant>,
            TokenValidationParameters = new TokenValidationParameters
            {
                ValidAudience = <API address>
            }
        });
}

有没有办法将这两种方法结合起来,并让守护服务器使用其在 Azure AD 中的注册来获取 JWT 令牌(我们有这个位),并通过应用程序的内置身份验证(不使用上面的代码)验证这个令牌服务?

使用上面的代码,一切正常,但是一旦删除,守护进程的 JWT 令牌就无法识别。在这两种情况下(有/没有代码)都可以使用<appAddress>/.auth/login/aad. 内置身份验证被描述为处理 JWT 令牌,但它不起作用。

4

0 回答 0