按照此处所述实施解决方案后:
我打开后无法获得授权工作
config.SetIsHosted(true);
它总是返回401 Unauthorized。我的自定义API控制器或任何匿名方法按预期工作。
答案 0 :(得分:2)
该问题与System.IdentityModel.Tokens.Jwt版本4.0.0有关,它可能是错误或版本问题,如下所述:
http://katanaproject.codeplex.com/discussions/568067
此外,由于此处所述的最新版本中的另一个错误:
https://github.com/Azure/azure-mobile-services/issues/325
我们无法使用Web API 2.2,因此我们需要降级到WebAPI 2.1。
最终解决方案是获得正确的软件包版本号。
我永远无法获得最新版本的WindowsAzure.MobileServices.Backend,因此我不得不将其降级到之前的版本。
这是我的package.config,它显示了我最终完成所有工作的所有软件包和版本号。
<packages>
<package id="Autofac" version="3.5.0" targetFramework="net45" />
<package id="AutoMapper" version="3.2.1" targetFramework="net45" />
<package id="EntityFramework" version="6.1.0" targetFramework="net45" />
<package id="Microsoft.AspNet.Cors" version="5.1.2" targetFramework="net45" />
<package id="Microsoft.AspNet.Identity.Core" version="2.0.1" targetFramework="net45" />
<package id="Microsoft.AspNet.Identity.Owin" version="2.0.1" targetFramework="net45" />
<package id="Microsoft.AspNet.Razor" version="3.1.2" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi" version="5.1.1" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.Client" version="5.1.2" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.Core" version="5.1.2" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.Cors" version="5.1.2" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.OData" version="5.1.2" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.Owin" version="5.1.2" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.Tracing" version="5.1.2" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.WebHost" version="5.1.1" targetFramework="net45" />
<package id="Microsoft.Data.Edm" version="5.6.0" targetFramework="net45" />
<package id="Microsoft.Data.OData" version="5.6.0" targetFramework="net45" />
<package id="Microsoft.Owin" version="2.1.0" targetFramework="net45" />
<package id="Microsoft.Owin.Host.SystemWeb" version="2.1.0" targetFramework="net45" />
<package id="Microsoft.Owin.Security" version="2.1.0" targetFramework="net45" />
<package id="Microsoft.Owin.Security.ActiveDirectory" version="2.1.0" targetFramework="net45" />
<package id="Microsoft.Owin.Security.Cookies" version="2.1.0" targetFramework="net45" />
<package id="Microsoft.Owin.Security.Facebook" version="2.1.0" targetFramework="net45" />
<package id="Microsoft.Owin.Security.Google" version="2.1.0" targetFramework="net45" />
<package id="Microsoft.Owin.Security.Jwt" version="2.1.0" targetFramework="net45" />
<package id="Microsoft.Owin.Security.MicrosoftAccount" version="2.1.0" targetFramework="net45" />
<package id="Microsoft.Owin.Security.OAuth" version="2.1.0" targetFramework="net45" />
<package id="Microsoft.Owin.Security.Twitter" version="2.1.0" targetFramework="net45" />
<package id="Microsoft.WindowsAzure.ConfigurationManager" version="2.0.3" targetFramework="net45" />
<package id="Newtonsoft.Json" version="6.0.4" targetFramework="net45" />
<package id="Owin" version="1.0" targetFramework="net45" />
<package id="RazorEngine" version="3.4.1" targetFramework="net45" />
<package id="System.IdentityModel.Tokens.Jwt" version="3.0.2" targetFramework="net45" />
<package id="System.Spatial" version="5.6.0" targetFramework="net45" />
<package id="WindowsAzure.MobileServices.Backend" version="1.0.342" targetFramework="net45" />
<package id="WindowsAzure.MobileServices.Backend.Entity" version="1.0.342" targetFramework="net45" />
<package id="WindowsAzure.MobileServices.Backend.Tables" version="1.0.342" targetFramework="net45" />
<package id="WindowsAzure.ServiceBus" version="2.3.4.0" targetFramework="net45" />
</packages>
<强>更新强>
即使在从基线升级所有软件包之后,我仍然无法成功升级,但是我从头开始重新创建项目并重新添加所有内容,现在它已成功地在版本1.0.439上运行。所以我可以从这个版本说它现在正在运作。