example - AngularJS CORS no envía todas las cookies con credencial, pero jQuery envía
spring security oauth2 (1)
Como el servicio $resource
es una fábrica de $http
, ¿intentas establecer el valor predeterminado de withCredentials
en true de tu $httpProvider
en la configuración de tu aplicación?
.config(function ($httpProvider) {
$httpProvider.defaults.withCredentials = true;
}
En cuanto a los documentos angulares, su sintaxis parece correcta para withCredentials
.
Estoy usando AngularJS v1.2.16 en mi interfaz. Creé un servicio simple:
app.provider(''Site'', function () {
var apiServer = ''http://api.example.com'';
this.$get = [''$resource'', function ($resource) {
var site = $resource(apiServer + ''/sites/:action:id'', {}, {
query: {
withCredentials: true
},
checkDomain: {
method: ''POST'',
withCredentials: true,
params: {
action: ''checkDomain''
}
},
save: {
method: ''PUT'',
withCredentials: true
}
});
return site;
}];
});
Cuando trato de obtener una lista de sitios en mi controlador:
app.controller(''SitesCtrl'', [''$scope'', ''Site'', function ($scope, Site) {
$scope.sites = Site.query();
}]);
Angular no envía cookies con solicitud, y no puedo obtener una lista de sitios.
Pero cuando envío la misma solicitud por jQuery:
$.ajax({
type: ''GET'',
url: ''http://api.example.com/sites'',
xhrFields: {
withCredentials: true
},
success: function (data) {
console.log(data);
}
});
Las cookies se envían con solicitud y puedo obtener una lista de sitios.
Dime, por favor, ¿dónde está mi error?