0

У меня есть веб-сайт ASP.NET MVC, который использует ASP.NET WebAPI для аутентификации. Я использую ThinkTecture IdentityModel для базовой проверки подлинности и токена сеанса, который отлично работает локально и на сайтах Azure. Тем не менее, мне пришлось перейти на службы Azure Cloud, и теперь я не могу выполнить аутентификацию с помощью токена, всегда получая ошибку 401, но при этом просто имя пользователя и пароль работают нормально.Не удается аутентифицироваться с помощью токена

Единственное различие, которое я могу догадаться, это то, что я должен иметь дело с IIS сейчас. Существуют ли какие-либо модификации, необходимые для аутентификации с помощью токена?

ОБНОВЛЕНО:

Я не использую любую конфигурацию Web.config для проверки подлинности, просто используя следующий код в WebAPIConfig.

 

public static void Register(HttpConfiguration config) 
     { 
      config.Routes.MapHttpRoute(
       name: "DefaultApi", 
       routeTemplate: "api/{controller}/{id}", 
       defaults: new { id = RouteParameter.Optional } 
       ); 

      var authConfig = new AuthenticationConfiguration 
           { 
            RequireSsl = true, 
            EnableSessionToken = true, 
            SendWwwAuthenticateResponseHeaders = true, 
            SessionToken = new SessionTokenConfiguration() 
             { 
              DefaultTokenLifetime = System.TimeSpan.FromDays(1.0) 
             } 
           }; 

      // setup authentication against membership 
      authConfig.AddBasicAuthentication(
       (userName, password) => WebSecurity.Login(userName, password, true) 
       ); 

      config.MessageHandlers.Add(new AuthenticationHandler(authConfig)); 
     } 
 
+0

читайте это http://weblogs.thinktecture.com/cweyer/azure/ –

+0

Чтобы помочь, пожалуйста, предоставьте следующие разделы вашего web.confg: 'system.web \ authentication',' system.web \ authorization ',' system.webserver \ modules', 'system.identitymodel' и' system.identitymodel.services' – astaykov

+0

@DaveA Я не использую Identity Server. У меня есть API, который требует аутентификации и использует Thinktecture.IdentityModel и WebMatrix.WebData.WebSecurity для проверки каждого запроса. – jaimetotal

ответ

1

Я установил фиксированный ключ подписи на SessionTokenConfiguration. Вы определенно нуждаетесь в этом.

+0

Спасибо, точно так же, как вы сказали. – jaimetotal

Смежные вопросы