1

使用 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);
        }
    }
}  
4

0 回答 0