我正在尝试针对我在 Visual Studio 2015 中实现的 AspNetCore WebApi 项目在 Angular 2 RC6 应用程序中实现基于简单令牌的身份验证。
我已将示例应用程序放在 github 上:https ://github.com/tonywr71/Snazzle ,这是一个功能齐全的应用程序。
在应用程序中,我单击登录菜单项,输入登录名和密码信息,然后单击登录。
它成功返回了身份验证令牌,我将其存储在隔离存储中。
然后我单击 Fetch Data 菜单项,它调用一个具有 Authorize 属性的示例控制器。它传递令牌,该令牌从隔离存储中检索并添加到标头中。但它失败并出现错误。
我得到的错误是“XMLHttpRequest 无法加载http://localhost:5100/api/SampleData/WeatherForecasts。预检响应具有无效的 HTTP 状态代码 401”
WeatherForecasts 是一个 WebApi 方法,它返回一些 Angular 2 客户端组件使用的 json。
401 是未经授权的,它获得未经授权的原因是由于预检 ORIGIN 调用,因为没有为 ORIGIN 调用发送标头。
当我使用 Postman 运行它时,添加令牌后就没有问题了 - 方法调用有效。那是因为 Postman 不需要担心 CORS。
所以我的问题是,我怎样才能让 AspNetCore 不检查 ORIGIN 调用以进行身份验证?或者,如果这不是正确的方法,我应该如何实现这一目标?我应该添加一些中间件吗?