使用 ApiController,Authentication.Challenge 不会提示 Microsoft 登录 SSO。它执行 SignIn 操作方法,没有任何错误。如果我从 ApiController 更改为Controller ,那么它会提示。有人知道如何使用 ApiController 提示 Microsoft 登录吗?
公共类 ValuesController : ApiController {
[System.Web.Http.Route("api/values/signin")]
[System.Web.Http.HttpGet]
public void SignIn()
{
if (!System.Web.HttpContext.Current.Request.IsAuthenticated)
{
HttpContext.Current.GetOwinContext().Authentication.Challenge(
new AuthenticationProperties { RedirectUri = "/" },
OpenIdConnectAuthenticationDefaults.AuthenticationType);
}
}
}
公共类ValuesController:控制器 {
public void SignIn()
{
if (!System.Web.HttpContext.Current.Request.IsAuthenticated)
{
HttpContext.Current.GetOwinContext().Authentication.Challenge(
new AuthenticationProperties { RedirectUri = "/" },
OpenIdConnectAuthenticationDefaults.AuthenticationType);
}
}
}