Oli*_*ver 11 security http token asp.net-web-api angularjs
我在AngularJS中实现了基于令牌的身份验证,但是我的安全api(生成令牌)是基于窗口的,用于将所有AD交互集中到一个站点.
结构如下:

流程如下:
当安全性和应用程序位于同一域时,这一切都正常,但是只要$ http请求需要跨域,就不会发送带有Windows凭据的授权标头,从而导致401.

安全性Api通过允许Origin(*仅用于测试而非生产)允许跨域请求:
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
<add name="Access-Control-Allow-Headers" value="Origin, X-Requested-With, Content-Type, Accept" />
Run Code Online (Sandbox Code Playgroud)
是否可能,如果是这样,在制作跨域$ http请求时,如何让AngularJS客户端应用程序通过Windows凭据?
Dar*_*rov 15
尝试在发出AJAX请求时将withCredentials属性设置为true以确保客户端将发送其凭据:
$http.get(url, { withCredentials: true, ...})
Run Code Online (Sandbox Code Playgroud)
基本上,此标志将执行的操作是withCredentials在基础XMLHttpRequest本机对象上设置该属性.
您还可能需要Authorization在服务器上包含Access-Control-Allow-Headers响应的标头.
| 归档时间: |
|
| 查看次数: |
9374 次 |
| 最近记录: |