【发布时间】:2016-12-15 19:44:08
【问题描述】:
我正在努力思考如何使用 Azure Active Directory 保护 Web API 资源。目前,我有一个 Angular 2 应用程序,它将用户重定向到 Azure AD 登录页面,并收到一个 id_token 作为回报。此 id 令牌在后续调用中用作不记名令牌,它似乎正在工作。我的问题就在这里。
public void ConfigureAuth(IAppBuilder app)
{
app.UseWindowsAzureActiveDirectoryBearerAuthentication(
new WindowsAzureActiveDirectoryBearerAuthenticationOptions
{
TokenValidationParameters = new TokenValidationParameters
{
ValidAudience = ConfigurationManager.AppSettings["ida:ClientId"],
ValidateIssuer = true
},
Tenant = ConfigurationManager.AppSettings["ida:TenantId"]
});
}
似乎这里是我们验证不记名令牌的地方。我真的不明白它是如何工作的。它是否在每次 API 调用时都与 Azure AD 通信?如果是这样,这是理想的方法(就性能而言)?如果没有,这如何阻止某人创建自己的令牌并侵入 API?
我确信我缺少一些重要的知识来理解这一点,所以如果你有任何我应该阅读的资源来更好地理解这一点,请提出建议。
谢谢!
【问题讨论】:
标签: .net active-directory jwt azure-active-directory