8

I want to use resource with a cookie set in the navigator.

With $http it is really easy, as I only need to set withCredential to true:

$http({
    method: 'POST',
    url: url,
    data: user,
    withCredentials: true
});

But for $resource, I didn't find a solution to dot the same... I saw a discussion on github about that but I think that settings withCredential to true for all requests is not okay. Do you have an idea about how to do it?

Cœur
  • 37,241
  • 25
  • 195
  • 267
Alex Grs
  • 3,231
  • 5
  • 39
  • 58

3 Answers3

19

To change the default settings of $http (hence $resource), you need to alter $httpProvider.

Set withCredentials globally like that:

angular.module('YOUR_APP')
    .config(function($httpProvider) {
        $httpProvider.defaults.withCredentials = true;
    });
Muhammad Reda
  • 26,379
  • 14
  • 93
  • 105
6

The config withCredentials in $resource module is available in AngularJS 1.1.2+, you can get the new version and give it a try.

zs2020
  • 53,766
  • 29
  • 154
  • 219
3

You can set it the flag globally with:

 $http.defaults.withCredentials = true;

This will affect all requests from the $resource module as well as the $http module.

srlm
  • 3,186
  • 2
  • 27
  • 40