Asp.net Web API OAuth令牌端点404

Asp.net Web API OAuth令牌端点404,asp.net,api,oauth,owin,Asp.net,Api,Oauth,Owin,我有一个Web表单解决方案,我正在尝试添加一个自托管API项目,以支持来自移动请求的交互(用作我的参考点)。然而,在配置OAuth的“TokenEndpointPath”时,我得到的是404响应——仅在我的生产环境中,该环境托管在discountasp.net上。在本地,它工作得非常完美 在我的网站项目中,我有一个global.asax,它有一个空的应用程序\u Start()方法。在我的API项目中,我在Startup.cs中有以下内容: [assembly: OwinStartup(type

我有一个Web表单解决方案,我正在尝试添加一个自托管API项目,以支持来自移动请求的交互(用作我的参考点)。然而,在配置OAuth的“TokenEndpointPath”时,我得到的是404响应——仅在我的生产环境中,该环境托管在discountasp.net上。在本地,它工作得非常完美

在我的网站项目中,我有一个global.asax,它有一个空的应用程序\u Start()方法。在我的API项目中,我在Startup.cs中有以下内容:

[assembly: OwinStartup(typeof(MyDomain.API.Startup))]

namespace MyDomain.API
{
    public class Startup
    {
        public static OAuthBearerAuthenticationOptions OAuthBearerOptions { get; private set; }

        public void Configuration(IAppBuilder app)
        {
            HttpConfiguration config = new HttpConfiguration();

            ConfigureOAuth(app);

            WebApiConfig.Register(config);
            app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
            app.UseWebApi(config);
        }

        public void ConfigureOAuth(IAppBuilder app)
        {
            //use a cookie to temporarily store information about a user logging in with a third party login provider
            app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);
            OAuthBearerOptions = new OAuthBearerAuthenticationOptions();

            OAuthAuthorizationServerOptions OAuthServerOptions = new OAuthAuthorizationServerOptions()
            {
                AllowInsecureHttp = true,
                TokenEndpointPath = new PathString("/token"),
                AccessTokenExpireTimeSpan = TimeSpan.FromMinutes(30),
                Provider = new SimpleAuthorizationServerProvider(),
                RefreshTokenProvider = new SimpleRefreshTokenProvider()
            };

            // Token Generation
            app.UseOAuthAuthorizationServer(OAuthServerOptions);
            app.UseOAuthBearerAuthentication(OAuthBearerOptions);
        }
    }
}
这是我的API项目的App_Start/WebApiConfig.cs:

namespace MyDomain.API
{
    public static class WebApiConfig
    {
        public static void Register(HttpConfiguration config)
        {
            // Web API routes
            config.MapHttpAttributeRoutes();

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

            var jsonFormatter = config.Formatters.OfType<JsonMediaTypeFormatter>().First();
            jsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
        }
    }
}
名称空间MyDomain.API
{
公共静态类WebApiConfig
{
公共静态无效寄存器(HttpConfiguration配置)
{
//Web API路由
config.maphttpAttribute路由();
config.Routes.MapHttpRoute(
名称:“DefaultApi”,
routeTemplate:“api/{controller}/{id}”,
默认值:新建{id=RouteParameter.Optional}
);
var jsonFormatter=config.Formatters.OfType().First();
jsonFormatter.SerializerSettings.ContractResolver=新的CamelCasePropertyNamesContractResolver();
}
}
}

我不知道你还需要什么其他信息,但有人知道为什么我在发帖子时会得到404吗?要明确的是,我的网站项目是返回404响应的项目(我得到的是自定义404页面的HTML输出…不是JSON格式的服务器消息或类似的格式)。

(为了简洁起见,我在代码段中输入了“using”声明)只是想知道,在没有OWIN的情况下,你能点击这个按钮吗?不完全确定你的意思。。。您建议我删除什么来测试它?我建议您确保这不是一个简单的404,并且与authlayer相关。您在这方面有任何进展吗?