TryGetFormCredentials在跨域请求上返回null

时间:2015-01-09 11:04:13

标签: c# asp.net-web-api oauth cors owin

我已经在使用WebAPI的项目中设置了OAuth身份验证,我让它工作正常100%。

然后我将前端应用程序移动到解决方案中的单独项目中。所以,现在当我运行应用程序时,它显然位于API&的不同URL(localhost:64049)上。身份验证服务器(位于同一项目中,服务器来自localhost:63265)。

为了让CORS正常运行,我相信我需要将此行添加到GrantResourceOwnerCredentials

context.OwinContext.Response.Headers.Add("Access-Control-Allow-Origin", new[] { allowedOrigin });

但是,当我运行它时,TryGetFormCredentials中的ValidateClientAuthentication未返回clientId。

如果我发送Fiddler / Postman的请求,它仍然有效。

我错过了什么?

1 个答案:

答案 0 :(得分:0)

通过在Startup.cs中启用应用程序上的CORS来管理修复它:

app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);

但我必须删除其他响应标题。