Angularjs $ http在响应中似乎不了解“ Set-Cookie”

弗雷德·梅里奥特

我有一个带有Passport模块的nodejs Express REST api,用于身份验证。登录方法(GET)在标题中返回cookie。当我从Chrome调用它时,它工作正常,我的Cookie已在浏览器中设置。

但是,如果我通过Angularjs中的$ http调用它,则不会设置cookie。

Set-Cookie:connect.sid=s%3Ad7cZf3DSnz-IbLA_eNjQr-YR.R%2FytSJyd9cEhX%2BTBkmAQ6WFcEHAuPJjdXk3oq3YyFfI; Path=/; HttpOnly

正如您在上面看到的那样,Set-Cookie位于http服务响应的标头中。

也许HttpOnly可能是此问题的根源?如果是,我该如何更改?这是我的明确配置:

app.configure(function () {
    app.use(allowCrossDomain);
    app.use(express.bodyParser());
    app.use(express.cookieParser())
    app.use(express.session({ secret: 'this is a secret' }));
    app.use(flash());
    //passport init
    app.use(passport.initialize());
    app.use(passport.session());
    app.set('port', process.env.PORT || 8080);
});

谢谢您的帮助

汤玛士

确保将$ http请求配置为使用凭据。从XHR文档中:

https://developer.mozilla.org/zh-CN/docs/HTTP/Access_control_CORS

XMLHttpRequest和访问控制公开的最有趣的功能是发出“凭据”请求的功能,这些请求可以识别HTTP Cookie和HTTP身份验证信息。默认情况下,在跨站点XMLHttpRequest调用中,浏览器将不发送凭据。调用XMLHttpRequest对象时,必须设置一个特定的标志。

您可以使用options对象设置凭据的使用,请参阅

http://docs.angularjs.org/api/ng.$http

例:

$http({withCredentials: true, ...}).get(...)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

AngularJS中的Cookie

来自分类Dev

无法在AngularJs中存储cookie

来自分类Dev

无法在AngularJs中存储cookie

来自分类Dev

angularJS cookie读取响应值

来自分类Dev

如何删除Angularjs中的所有cookie?

来自分类Dev

在angularjs中访问Node.js cookie

来自分类Dev

在angularjs中访问Node.js cookie

来自分类Dev

从AJAX POST响应中获取并存储Cookie(来自Set-Cookie)

来自分类Dev

ActionDispatch :: Cookies没有在响应中设置Set-Cookie标头,但response.set_cookie可以

来自分类Dev

使用AngularJS更新Cookie

来自分类Dev

使用AngularJS创建cookie

来自分类Dev

angularjs $ http服务不会在POST上设置cookie,但会在GET上设置cookie

来自分类Dev

不了解Node.js中的Cookie

来自分类Dev

不了解Node.js中的Cookie

来自分类Dev

如何使用JavaScript从响应访问set-cookie

来自分类Dev

如何从Spray的响应'set-cookie'标头转换为请求'cookie'标头?

来自分类Dev

如何测试AngularJS服务中是否设置了$ cookie?

来自分类Dev

在量角器中添加Cookie以测试AngularJS

来自分类Dev

我如何访问angularjs中passport.js设置的cookie

来自分类Dev

获取 Set-Cookie 标头以设置 CSRF Cookie 时避免 HTTP 403 错误的最佳方法

来自分类Dev

Google Chrome在后续调用中丢失了MVC Auth Cookie(Set-Cookie指令)

来自分类Dev

Google Chrome在后续调用中丢失了MVC Auth Cookie(Set-Cookie指令)

来自分类Dev

Websocket握手中的Set-Cookie

来自分类Dev

无法在Java中获取Set-Cookie属性

来自分类Dev

远程API中的Set-Cookie无法正常工作

来自分类Dev

如何使用 Grep | awk 从 Set-Cookie 中获取 nid?

来自分类Dev

Set-Cookie存在于标头响应中,但在浏览器中缺失

来自分类Dev

将安全和httpOnly标志添加到Apache httpd中的每个Set-Cookie响应

来自分类Dev

使用请求模块,如何处理请求响应中的“ set-cookie”?

Related 相关文章

  1. 1

    AngularJS中的Cookie

  2. 2

    无法在AngularJs中存储cookie

  3. 3

    无法在AngularJs中存储cookie

  4. 4

    angularJS cookie读取响应值

  5. 5

    如何删除Angularjs中的所有cookie?

  6. 6

    在angularjs中访问Node.js cookie

  7. 7

    在angularjs中访问Node.js cookie

  8. 8

    从AJAX POST响应中获取并存储Cookie(来自Set-Cookie)

  9. 9

    ActionDispatch :: Cookies没有在响应中设置Set-Cookie标头,但response.set_cookie可以

  10. 10

    使用AngularJS更新Cookie

  11. 11

    使用AngularJS创建cookie

  12. 12

    angularjs $ http服务不会在POST上设置cookie,但会在GET上设置cookie

  13. 13

    不了解Node.js中的Cookie

  14. 14

    不了解Node.js中的Cookie

  15. 15

    如何使用JavaScript从响应访问set-cookie

  16. 16

    如何从Spray的响应'set-cookie'标头转换为请求'cookie'标头?

  17. 17

    如何测试AngularJS服务中是否设置了$ cookie?

  18. 18

    在量角器中添加Cookie以测试AngularJS

  19. 19

    我如何访问angularjs中passport.js设置的cookie

  20. 20

    获取 Set-Cookie 标头以设置 CSRF Cookie 时避免 HTTP 403 错误的最佳方法

  21. 21

    Google Chrome在后续调用中丢失了MVC Auth Cookie(Set-Cookie指令)

  22. 22

    Google Chrome在后续调用中丢失了MVC Auth Cookie(Set-Cookie指令)

  23. 23

    Websocket握手中的Set-Cookie

  24. 24

    无法在Java中获取Set-Cookie属性

  25. 25

    远程API中的Set-Cookie无法正常工作

  26. 26

    如何使用 Grep | awk 从 Set-Cookie 中获取 nid?

  27. 27

    Set-Cookie存在于标头响应中,但在浏览器中缺失

  28. 28

    将安全和httpOnly标志添加到Apache httpd中的每个Set-Cookie响应

  29. 29

    使用请求模块,如何处理请求响应中的“ set-cookie”?

热门标签

归档