WebAPI方法未被Azure托管的网站识别



我正在与我们的报告供应商集成一个符号,该供应商通过从其API调用Web API方法来验证一个令牌。当我通过本地托管的API本地计算机对此进行测试时,我可以使用此Web API方法,用户可以使用有效的令牌验证,并且SSO可以顺利进行。当我将此更改发布到Azure时,该验证方法不会被调用,SSO无法使用。我缺少什么,或者我需要在Azure的App Services中做些事情,以确保该网络API被调用。可以肯定的是,在Azure上出版时,这看起来像是这样,因为这在我本地的机器上可以很好地工作。

[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 }
        );
    }
}

然后在我的global.asax中,

GlobalConfiguration.Configure(WebApiConfig.Register);

为了拨打validateVendorAuthToken,我们在供应商的API SQL数据库中提供字段值,以匹配此路线,例如http://mysite.azurewebsites.net/api/porting/reporting/validatevendorauthtoken,然后是Token。P>

要在我的本地计算机中进行测试,我将此值更改为http://localhost:69808/api/eworting/validateVendorAuthToken。

由于这在本地起作用,因此我得出的结论是,该网站在Azure托管时永远不会被调用。我需要在Azure中做些什么,或者我的应用程序中缺少一些事情?

任何帮助或方向都将不胜感激。

这是一个远射,但是您的字段值是否包含日期?我遇到了一个问题,即对本地机器进行测试很好,但是一旦我部署到Azure崩溃了,事实证明,我的英国格式日期被解释为一个月以上一个月以上,并且没有太多线索就轰炸了。浪费时间(如果没有)表示歉意!

最新更新