Asp.net mvc .NET Core 3.1 MVC Web应用程序-访问AzureADB2C令牌

Asp.net mvc .NET Core 3.1 MVC Web应用程序-访问AzureADB2C令牌,asp.net-mvc,asp.net-core,azure-active-directory,azure-functions,Asp.net Mvc,Asp.net Core,Azure Active Directory,Azure Functions,是否有关于如何访问AzureAdB2C令牌以供以后在Azure函数调用中使用的代码示例?web项目已经使用OpenIdConnect合并了Azure身份验证。以下是Startup.cs中的设置: services.AddAuthentication(sharedOptions => { sharedOptions.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;

是否有关于如何访问AzureAdB2C令牌以供以后在Azure函数调用中使用的代码示例?web项目已经使用OpenIdConnect合并了Azure身份验证。以下是Startup.cs中的设置:

services.AddAuthentication(sharedOptions =>
        {
            sharedOptions.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;
            sharedOptions.DefaultChallengeScheme = OpenIdConnectDefaults.AuthenticationScheme;
        })
        .AddAzureAdB2C(options => Configuration.Bind("Authentication:" + AzureCompany, options))
        .AddCookie();

我不推荐这种方法,如果我错了,请纠正我,您正在尝试使用相同的承载令牌进行功能应用程序身份验证
相反,您可以为function app生成一个新的令牌,并使用它
您可以使用ms API生成令牌
有关更多信息->

请求令牌指南->

不确定您的需求,但使用OIDC中间件,您可以将
SaveTokens
设置为true:

services.Configure<OpenIdConnectOptions>(AzureADB2CDefaults.OpenIdScheme, options =>
{

    ...
    options.SaveTokens = true;
    ...
});

这实际上是可行的,但当我使用令牌进行Azure API函数调用时,返回了一个http 401(“Unauthorized”)。
string idToken = await HttpContext.GetTokenAsync("id_token");