I have a Nodejs and Angularjs web app. Everything works perfectly on localhost but when I push my code to my droplet, cookie does not work. Everything that I saved in cookie does not appear on Cookies. I have just created an Amazon VPS and the same problem. I know that cookie is client side but why does it happen ? This is my piece of angular code:
$scope.login = function () {

var isEmpty = AuthService.checkEmptyLogin($scope.user);
if (!isEmpty.isErr) {
  UserService.login($scope.user).then(function (result) {
    if (result.data.success) {
      $rootScope.userLogin = result.data.data.name;

      var day = new Date();
      day.setDate(day.getDay() + 30);

      var options = {
        domain: "localhost",
        httpOnly: true,
        expires: day
      // nothing in cookies
      $cookies.put('token', result.data.data.token, options);
      $cookies.put('name', result.data.data.name, options);
      // session storage works fine
      $sessionStorage.user = 'heheeheh';
      flash.success = result.data.message;
    } else {
      flash.error = result.data.message;
} else {
  $scope.loginMessage = isEmpty.message;

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

1 answer

Have you tried swapping out localhost for the ip address of the server?

Submit an Answer