【发布时间】:2016-12-05 17:00:19
【问题描述】:
您可以找到大量示例,如何使用 JWT 不记名身份验证通过 Azure AD 保护 ASP.Net 应用程序。就像在 Startup 中添加一些关于 AAD 的信息一样简单,例如:
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
app.UseJwtBearerAuthentication(new JwtBearerOptions
{
Authority = "https://login.windows.net/...",
Audience = "...",
});
app.UseMvc();
}
这些示例没有任何问题,所有令牌验证魔术都发生在幕后,您不必关心它。但实际上我想知道如何验证除 ASP.Net 之外的 Azure AD 承载令牌,例如在控制台应用程序中。
在控制台应用程序中,我期望如下所示:
public static void Main(string[] args)
{
string token = "...";
JwtSecurityToken validatedJwtToken = validateJwtToken(token);
}
private static JwtSecurityToken validateJwtToken(string token)
{
JwtSecurityToken jwtToken = new JwtSecurityToken(token)
//
// how to validate the AAD token?!
//
if(/* is valid */)
{
return jwtToken;
}
else
{
return null;
}
}
很遗憾,我还没有找到一个可行的示例,但我无法想象这个问题没有简单的解决方案。任何建议都非常感谢!
【问题讨论】:
标签: c# azure jwt bearer-token azure-active-directory