首页 文章

Azure移动服务上的自定义身份验证未授权

提问于
浏览
1

在实现此处描述的解决方案之后:

http://azure.microsoft.com/en-us/documentation/articles/mobile-services-dotnet-backend-get-started-custom-authentication/

我打开电话后无法获得授权

config.SetIsHosted(true);

它总是返回401 Unauthorized . 我的自定义API控制器或任何匿名方法按预期工作 .

1 回答

  • 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>
    

    Update

    即使在从基线升级所有软件包之后,我仍然无法成功升级,但是我从头开始重新创建项目并重新添加所有内容,现在它已成功地在版本1.0.439上运行 . 所以我可以从这个版本说它现在正在工作 .

相关问题