0

저는 ASP.NET WebAPI를 사용하여 인증하는 ASP.NET MVC 웹 사이트를 운영하고 있습니다. 필자는 기본 인증 및 세션 토큰에 대해 ThinkTecture IdentityModel을 사용했습니다.이 토큰은 로컬 및 Azure 웹 사이트에서 올바르게 작동합니다. 그러나 Azure Cloud 서비스로 마이그레이션해야만 토큰으로 인증 할 수 없으며 항상 401 오류가 발생하지만 사용자 이름과 비밀번호 만 있으면 제대로 작동합니다.토큰으로 인증 할 수 없습니다.

내가 추측 할 수있는 유일한 차이점은 지금 IIS를 다뤄야한다는 것입니다. 토큰으로 인증 할 수 있도록 수정해야합니까?

업데이트 : 난 그냥 WebAPIConfig에 다음 코드를 사용하여 인증을 위해 어떤의 Web.config 구성을 사용하지 않는

.

 

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

관련 문제