Asp.net 无法使用ApicController进行Owin身份验证质询
我无法获取Asp.net 无法使用ApicController进行Owin身份验证质询,asp.net,.net,asp.net-mvc,owin,asp.net-apicontroller,Asp.net,.net,Asp.net Mvc,Owin,Asp.net Apicontroller,我无法获取HttpContext.Current.GetOwinContext().Authentication.Challenge来扩展ApiController它只是没有做任何事情,甚至没有错误。我只得到输出“:” 我做错了什么?这甚至可以实现吗?这是一个Web API,控制器注册表导致我的自定义路由出现问题 扩展Controller public class AccountController : Controller { public void SignI
HttpContext.Current.GetOwinContext().Authentication.Challenge
来扩展ApiController
它只是没有做任何事情,甚至没有错误。我只得到输出“:”
我做错了什么?这甚至可以实现吗?这是一个Web API,控制器
注册表导致我的自定义路由出现问题
扩展Controller
public class AccountController : Controller
{
public void SignIn()
{
// Send an OpenID Connect sign-in request.
if (!Request.IsAuthenticated)
{
HttpContext.GetOwinContext().Authentication.Challenge(new AuthenticationProperties { RedirectUri = "/" }, OpenIdConnectAuthenticationDefaults.AuthenticationType);
}
}
}
扩展ApiController
[RoutePrefix("api/auth")]
public class AuthController : ApiController
{
[HttpGet, Route("signin")]
public IHttpActionResult SignIn()
{
if (User == null || User.Identity.IsAuthenticated == false)
{
HttpContext.Current.GetOwinContext().Authentication
.Challenge(new AuthenticationProperties() {RedirectUri = "/"}, OpenIdConnectAuthenticationDefaults.AuthenticationType);
return Ok(":(");
}
return Ok(":)");
}
}
这不允许我的ApiController
路由工作
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new {controller = "Home", action = "Index", id = UrlParameter.Optional}
);
}