Azure App Service的用户名/密码身份验证:移动

时间:2016-07-25 17:41:03

标签: azure azure-mobile-services

我正在关注本教程,以便通过移动服务器提供用户名/密码身份验证:http://www.newventuresoftware.com/blog/custom-authentication-with-azure-mobile-apps

我的服务器端代码就是这样,使用Microsoft.Azure.Mobile.Server.Login NuGet包:

private JwtSecurityToken GetAuthenticationTokenForUser(string username)
{
    var claims = new[] { new Claim(JwtRegisteredClaimNames.Sub, username) };
    var signingKey = Environment.GetEnvironmentVariable("WEBSITE_AUTH_SIGNING_KEY");
    var issuer = Request.RequestUri.GetLeftPart(UriPartial.Authority);
    return AppServiceLoginHandler.CreateToken(claims, signingKey, issuer, issuer, TimeSpan.FromHours(24));
}

这会产生一个奇怪的编译器错误。对AppServiceLoginHandler.CreateToken的调用正在打破编译器的明显误导性消息:

对'JwtSecurityToken'类型的引用声称它在'System.IdentityModel.Tokens.Jwt'中定义,但找不到它。

Intellisense会选择System.IdentityModel.Tokens.Jwt.JwtSecurityToken类型。重建项目没有帮助。无论我做什么,这条线都会破坏构建。

1 个答案:

答案 0 :(得分:1)

更新到最新的nuget版本5.0.0时出现此错误。恢复到4.0.2.2修复它。 (参考System.IdentityModel.Tokens.Jwt nuget包)