2017-09-20 1 views
0

해당 API에서 웹 API 메서드를 호출하여 토큰의 유효성을 검사하는 Single Sign On을보고 공급 업체와 통합합니다. 로컬에서 호스트 된 API를 사용하여 로컬 컴퓨터에서이를 테스트 할 때이 웹 API 메소드를 사용할 수 있으며 사용자는 유효한 토큰으로 유효성이 검사되고 SSO는 원활하게 작동합니다. 이 변경 사항을 Azure에 게시하면이 유효성 검사 메서드가 호출되지 않아 SSO가 작동하지 않습니다. 내가 누락되었거나이 웹 API가 호출되도록 Azure의 내 앱 서비스에서해야 할 일이있다. Azure에서 게시 할 때 로컬 컴퓨터에서 완벽하게 작동하므로 건너 뛰었습니다.Azure에서 호스팅되는 사이트에서 WebAPI 메서드를 인식하지 못합니다.

내를 Global.asax에 다음
[RoutePrefix("api/reporting")] 
public class ReportingAPIController : ApiController 
{ 
    [HttpGet] 
    [Route("validateVendorAuthToken")] 
    public UserInfo ValidateVendorAuthToken(string access_token) 
    { 
     var userInfo = Infrastructure.ReportingVendor.TokenAuthorization.GetUserInfo(access_token); 
     return userInfo; 
    } 
} 
public static class WebApiConfig 
{ 
    public static void Register(HttpConfiguration config) 
    { 
     // TODO: Add any additional configuration code. 

     // Web API routes 
     config.MapHttpAttributeRoutes(); 

     config.Routes.MapHttpRoute(
      name: "ActionApi", 
      routeTemplate: "api/{controller}/{id}", 
      defaults: new { id = RouteParameter.Optional } 
     ); 
     config.Routes.MapHttpRoute(
      name: "DefaultApi", 
      routeTemplate: "api/{controller}/{action}/{id}", 
      defaults: new { id = RouteParameter.Optional } 
     ); 
    } 
} 

,

이 경로 등 http://mysite.azurewebsites.net/api/reporting/validateVendorAuthToken에 맞게, 우리는 공급 업체의 API의 SQL 데이터베이스의 필드 값을 제공을 ValidateVendorAuthToken를 호출하기 위해
GlobalConfiguration.Configure(WebApiConfig.Register); 

, 다음 토큰이 도착 생성됩니다.

로컬 컴퓨터에서 테스트하려면이 값을 http://localhost:69808/api/reporting/validateVendorAuthToken으로 변경합니다.

로컬로 작동하기 때문에 사이트가 Azure에서 호스팅 될 때이 웹 API 메서드가 호출되지 않습니다. Azure에서해야 할 일이 있습니까, 아니면 신청서에 실종 된 것이 있습니까?

도움이나 방향에 대해 크게 감사드립니다.

답변

0

이것은 길지만 필드 값에 날짜가 포함되어 있습니까? 내 로컬 컴퓨터에서 테스트가 괜찮 았지만 문제가 발생했습니다. 하늘빛으로 배포하자마자 충돌이 발생하여 내 영국 형식 날짜가 12 개월 이상으로 해석되고 단서가 많이없이 폭파되었습니다. 그렇지 않다면 시간을 낭비하는 사과!

+0

안녕하세요, Adnan, 안녕하세요. 현재 서식이 지정되어 있으므로 ** 답변 **이 아닙니다. 충분한 평판이 있으면 ** 댓글 **을 남길 수 있습니다. 그 동안 ** 설명 **을 사용하여 ** 답변 **을 사용하지 마십시오. –

+0

@Adnan : 그들 중 누구도하지 않습니다. – bladerunner

관련 문제