Пользовательская аутентификация на Azure Mobile Services не разрешает

После реализации решения, как описано здесь:

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

Я не могу получить разрешение на работу после включения

config.SetIsHosted(true);

Он всегда возвращает 401 Unauthorized. Мои пользовательские API-контроллеры или любой анонимный метод работают так, как ожидалось.

1 ответ

Проблема связана с 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></package></package></package></package></package></package></package></package></package></package></package></package></package></package></package></package></package></package></package></package></package></package></package></package></package></package></package></package></package></package></package></package></package></package></package></package></packages>

Обновить

Даже после обновления всех пакетов с базового уровня, который работал, я никогда не смог получить успешное обновление, однако я воссоздал проект с нуля и добавил все обратно, и теперь он успешно работает в версии 1.0.439. Поэтому я могу сказать из этой версии, что теперь она работает.

licensed under cc by-sa 3.0 with attribution.