해당 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에서해야 할 일이 있습니까, 아니면 신청서에 실종 된 것이 있습니까?
도움이나 방향에 대해 크게 감사드립니다.
안녕하세요, Adnan, 안녕하세요. 현재 서식이 지정되어 있으므로 ** 답변 **이 아닙니다. 충분한 평판이 있으면 ** 댓글 **을 남길 수 있습니다. 그 동안 ** 설명 **을 사용하여 ** 답변 **을 사용하지 마십시오. –
@Adnan : 그들 중 누구도하지 않습니다. – bladerunner