簡體   English   中英

Azure托管的站點無法識別WebAPI方法

[英]WebAPI methods not being recognized by the site hosted in Azure

我正在將Single Sign On與我們的報告供應商集成,該供應商通過從其API調用Web api方法來驗證令牌。 當我使用本地托管的API在本地計算機上對此進行測試時,可以使用此Web api方法,使用有效令牌對用戶進行驗證,並且SSO可以順利運行。 當我將此更改發布到Azure時,不會調用此validate方法,SSO無法通過該方法進行工作。 我缺少什么或者我需要在Azure的應用程序服務中做些什么來確保調用此Web 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/reporting/validateVendorAuthToken ,然后生成令牌。

為了在我的本地計算機上進行測試,我將該值更改為http:// localhost:69808 / api / reporting / validateVendorAuthToken

由於此操作在本地運行,因此得出的結論是,將網站托管在Azure中時,永遠不會調用此Web api方法。 在Azure中我需要做些什么嗎,或者我的應用程序中缺少什么?

任何幫助或指示將不勝感激。

這是一個遠景,但是您的任何字段值都包含日期嗎? 我遇到了一個問題,即在本地計算機上進行的測試很好,但是當我部署以使其蔚藍時崩潰了,結果我的英國格式日期被解釋為大於12的一個月,並且沒有太多線索被炸開。 很抱歉浪費您的時間!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM