WebAPI 2重定向

时间:2015-05-23 15:07:52

标签: c# .net asp.net-web-api

我想将mydomain.com/signin-microsoft路由到api / Account / ExternalLoginCallback

知道如何解决这个问题吗?

配置

        config.Routes.MapHttpRoute(
            name: "MicrosoftOAuth",
            routeTemplate: "signin-microsoft",
            defaults: new { controller = "Account", action = "ExternalLoginCallback" });

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

控制器

    [HttpGet]
    public async Task ExternalLoginCallback(string returnUrl = null)
    {

    }

更新 出于测试目的,我尝试了配置:

    [HttpGet]
    [Route("~/test-test")]
    public async Task ExternalLoginCallback(string returnUrl = null)
    {

    }

它工作得很好。 由于我在OAuth中使用OWIN,因此可能与MicrosoftOAuth提供程序有关。

提前致谢

1 个答案:

答案 0 :(得分:0)

您可以使用属性路由。在您的配置中:

config.MapHttpAttributeRoutes();

将此属性添加到ExternalLoginCallBack方法:

[Route("signin-microsoft")]