【发布时间】:2021-03-19 04:55:36
【问题描述】:
我正在尝试使用 Azure AD 对令牌进行身份验证。在控制台应用程序中,感谢 IConfidentialClientApplication,我对此没有任何问题:
static void Main(string[] args)
{
Console.WriteLine("Making the call...");
RunAsync().GetAwaiter().GetResult();
}
private static async Task RunAsync()
{
AuthConfig config = AuthConfig.ReadJsonFromFile("appsettings.json");
IConfidentialClientApplication app;
app = ConfidentialClientApplicationBuilder.Create(config.ClientId)
.WithClientSecret(config.ClientSecret)
.WithAuthority(new Uri(config.Authority))
.Build();
string[] ResourceIds = new string[] { config.ResourceId };
AuthenticationResult result = null;
try
{
result = await app.AcquireTokenForClient(ResourceIds).ExecuteAsync();
}
...
}
但在 ASP.NET Core 应用程序的启动中,该应用程序使用标准 IApplicationBuilder,并且 Configure(...) 方法不能采用 IConfidentialClientApplicationBuilder,因为它不存在。
在Microsoft's documentation 中,他们创建了一个PublicClientApplicationBuilder,但我不想开始在我的配置中创建全新的应用程序。
【问题讨论】:
标签: azure asp.net-core .net-core azure-active-directory msal