【发布时间】:2017-01-30 06:31:51
【问题描述】:
我正在使用自定义身份验证并生成 JWT 令牌。
当我发布到任何服务时,任何授权属性说 [Authorize(Roles = "Admin")] 都会受到尊重,并且没有此角色的用户会收到授权错误(很好!)。这向我强调了令牌生成和回发工作!
但是,当令牌过期时,什么都不会发生。它被视为有效令牌,而我应该得到某种异常,我的代码是这样的:
app.UseAppServiceAuthentication(new AppServiceAuthenticationOptions()
{
SigningKey = ConfigurationManager.AppSettings["authSigningKey"],
ValidAudiences = new[] { ConfigurationManager.AppSettings["authAudience"] },
ValidIssuers = new[] { ConfigurationManager.AppSettings["authIssuer"] },
TokenHandler = config.GetAppServiceTokenHandler()
});
还有:
JwtSecurityToken token = AppServiceLoginHandler.CreateToken(
new Claim[] { new
Claim(JwtRegisteredClaimNames.Sub, assertion["username"]) },
mySigningKey,
myAppURL,
myAppURL,
// Setting very short time to test expiration
TimeSpan.FromSeconds(10));
我正在本地进行测试,我预计会向客户端发送一个错误,说明令牌已过期。我做错了什么?
【问题讨论】:
标签: c# azure jwt azure-mobile-services