我有几个 Web API,其中一些使用 .Net Core 实现,其他使用 .NET 框架。
我使用 AD 和 AddMicrosoftIdentityWebApiAuthentication
来验证从一个 .NET Core 服务到另一个的响应。
谁能告诉我 .NET 框架的 AddMicrosoftIdentityWebApiAuthentication
的等效项是什么?
谢谢。
最佳答案
恐怕 UseWindowsAzureActiveDirectoryBearerAuthentication
就是您想要的。这是official sample用于 asp.net web api。
但最简单的方法应该是在创建 api 项目时集成 AAD。你将得到如下代码:
public void ConfigureAuth(IAppBuilder app)
{
app.UseWindowsAzureActiveDirectoryBearerAuthentication(
new WindowsAzureActiveDirectoryBearerAuthenticationOptions
{
Tenant = ConfigurationManager.AppSettings["ida:TenantId"],
TokenValidationParameters = new TokenValidationParameters {
ValidAudience = ConfigurationManager.AppSettings["ida:Audience"]
},
});
}
我进行了测试,这是测试结果。我刚刚添加了 AAD 的配置。在我的 web.config
文件中,我有以下内容:
<configuration>
<appSettings>
<add key="ida:Tenant" value="tenant_id" />
<add key="ida:TenantId" value="tenant_id" />
<add key="ida:Audience" value="api://aad_client_id_used_exposing_api" />
<add key="ida:ClientID" value="aad_client_id" />
<add key="ida:AppKey" value="client_secret" />
<add key="ida:AADInstance" value="https://login.microsoftonline.com/{0}" />
<add key="ida:RedirectUri" value="https://localhost:44321/" />
<add key="ida:GraphUserUrl" value="https://graph.microsoft.com/v1.0/me/" />
</appSettings>
我通过此请求生成的 token 。
关于c# - .net 框架的 AddMicrosoftIdentityWebApiAuthentication 模拟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75585354/