Kar*_*mar 0 c# authentication azure-active-directory asp.net-core-webapi
我的 ASP.NET Core Web API 中有以下配置:
// Adds Microsoft Identity platform (AAD v2.0) support to protect this Api
services.AddMicrosoftIdentityWebApiAuthentication(configuration);
services.AddControllers(options =>
{
var policy = new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.RequireClaim("email")
.Build();
options.Filters.Add(new AuthorizeFilter(policy));
});
Run Code Online (Sandbox Code Playgroud)
我有一个 Angular 客户端应用程序,它AuthToken随每个请求发送 。我不认为 Web API 应该验证AuthToken每个请求,因为这会影响性能,因为它可能会联系 Microsoft 验证端点。
ASP.NET Core Web API 是否针对每个请求验证身份验证令牌?
是的,每个请求都会验证令牌。但没有“Microsoft 验证端点”,它大多数时候完全在内存中进行验证。
运行时实际发生的情况:
随后收到请求:
如果我没记错的话,元数据默认会在内存中缓存 24 小时。需要时它会自动刷新。
简而言之,大多数时候根本没有对 Microsoft 端点的请求。您的应用程序仅使用一些 CPU 时间来验证内存中的令牌。您的数据库查询很可能会完全掩盖令牌验证的开销。
| 归档时间: |
|
| 查看次数: |
838 次 |
| 最近记录: |