title: Firebase angularjs firebase current auth gets replaced when creating a new user
body: <p>I am working on angular firebase web app, in which as soon as admin login, he can create users by his own. 
  When admin log in , he is authenticated with firebase.auth()</p>
  
  <p>But what is happening is, as admin creates a new user, the current auth details(admin) gets replaced by newly created user. I want the user creation without creating a newer session</p>
  
  <p>Have a look at my controller:</p>
  
  <pre><code>      app.controller('UserAdd', ['$scope','$sessionStorage','$http','$firebaseAuth', '$firebaseArray', '$location' ,'$firebaseObject', 'FBURL', function($scope,$sessionStorage,$http,$firebaseAuth,$firebaseArray, $location ,$firebaseObject, FBURL){ 
          var user = firebase.database().ref().child("users");
          $scope.user_auth_data = firebase.auth().currentUser;
          $sessionStorage.uID = $scope.user_auth_data.uid ;
          $scope.access_points=  [];
          $scope.teams = [];
          $scope.org_details = [];
          user.child($sessionStorage.uID).child("OrganizationId").on('value',function(org_id){
              $sessionStorage.org_id = org_id.val();
          })
          user.child($sessionStorage.uID).child("ImagePath").on('value',function(img){
            $scope.user_image = img.val();
          })
  
          //access points
          firebase.database().ref().child("organization").child($sessionStorage.org_id).child("access_points").on('value',function(access_points){
             angular.forEach(access_points.val(),function(ap,key){
                  $scope.access_points.push({id:key,ssid:ap.SSID,bssid:ap.BSSID,display_name:ap.DisplayName,lat:ap.Latitude,lng:ap.Longitude});
             })
  
  
          });
  
          var obj = $firebaseArray(firebase.database().ref().child("organization").child($sessionStorage.org_id).child("access_points"));
          obj.$loaded(
            function(data) {
  
            },
            function(error) {
              console.error("Error:", error);
            }
          );
  
          firebase.database().ref().child("organization").child($sessionStorage.org_id).child("teams").on('value',function(teams){
             angular.forEach(teams.val(),function(team,key){
                  $scope.teams.push({id:key,team_name:team.TeamName,team_leader:team.TeamLeader,channel_name:team.ChannelName});
             })
          });
  
          var obj = $firebaseArray(firebase.database().ref().child("organization").child($sessionStorage.org_id).child("teams"));
          obj.$loaded(
            function(data) {
  
            },
            function(error) {
              console.error("Error:", error);
            }
          );
  
  
  
          $scope.selectItem = function(){
  
              };
  
          //add user
          $scope.addUser = function() {
  
  
          firebase.auth().createUserWithEmailAndPassword($scope.Email, $scope.Password)
                  .then(function(user) {
                    //adding single values in user node
  
  
                  var ref = firebase.database().ref().child("users").child(user.uid);
  
                  ref.set({
                      EmployeeId: $scope.emp_id, 
                      Contact: $scope.Contact,
                      DOB: $scope.date_of_birth,
                      Designation: $scope.Designation,
                      Email: $scope.Email,
                      FirstName: $scope.FirstName,
                      LastName: $scope.LastName,
                      OrganizationId: $sessionStorage.org_id,
                      Gender: $scope.selectedGender,
                      IsAdmin: false
  
  
                  });
  
  
  
                    $scope.selectedAccess.forEach(function(access_values){   //adding nested access_points
                    var ref1 = firebase.database().ref().child("users").child(user.uid).child("AccessPoint").child(access_values.id);
  
  
  
                    ref1.set({
                      SSID: access_values.ssid,
                      BSSID: access_values.bssid,
                      DisplayName: access_values.display_name,
                      Latitude: access_values.lat,
                      Longitude: access_values.lng
  
  
                  });
  
                  });
  
                  $scope.selectedTeam.forEach(function(team_values){    //adding nested team
                  var ref2 = firebase.database().ref().child("users").child(user.uid).child("team").child(team_values.id);
  
  
                    ref2.set({
                      ChannelName: team_values.channel_name,
                      TeamName: team_values.team_name,
                      TeamLeader: team_values.team_leader
  
  
                  });
                  }); 
                  $scope.teams.forEach(function(team_values){ 
                  var ref3 = firebase.database().ref().child("organization").child($sessionStorage.org_id).child("channels").child(team_values.channel_name).child("info").child("users");
  
                      ref3.child(user.uid).set($scope.FirstName+" "+$scope.LastName);
  
  
                  var ref4 = firebase.database().ref().child("organization").child($sessionStorage.org_id).child("user_team").child(team_values.team_name).child(user.uid);
                  ref4.set($scope.FirstName+" "+$scope.LastName);
  
  
  
                  });
  
  
                  firebase.auth().sendPasswordResetEmail(user.email);
  
                   $location.path('/user_list');
                  }).catch(function(error) {
                      console.log(error);
                  });
  
  
  
  
  
              };
  
  
          }]);
  </code></pre>
  
  <p>Whats needs to be done to remain in same admin session instead of a new one?</p>