Router de interfaz de usuario de autenticación angular firebase 3

Preguntas frecuentes

he estado tratando de aprender firebase y construcción de aplicaciones por mí mismo. He completado la aplicación Ios y ahora estoy trabajando en el motor del lado de la red. Tengo una página de inicio de sesión (home.html) y una página de cuenta (account.html).
Desafortunadamente, ni siquiera puedo hacer que cargue la Sección de inicio de sesión la primera vez que cargue la página. Tengo el Fondo y todo el contenido de index.html, pero para mí, no ha introducido html desde la página de inicio de sesión, incluso si nadie está conectado.
Empezaré con el índice. Html:
    <script src="/bower_components/angular/angular.js"></script>
<script src="/bower_components/angular-ui-router/release/angular-ui-router.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular-resource.min.js"></script>
<!-- Firebase -->
<script src="https://www.gstatic.com/firebasejs/3.2.0/firebase.js"></script>

<!-- AngularFire -->
<script src="https://cdn.firebase.com/libs/angularfire/2.0.2/angularfire.min.js"></script>
<script src="app.js"></script>  

</head>


  <body ng-app="employeeApp">
  <div class="container">
    <div ui-view>

    </div>
</div>

</body>
Mi vista de inicio de sesión es:
<div>
        <div class="row-fluid">

            <div class="row-fluid">
                <div class="login-box">
                    <h2>Login</h2>
                    <form ng-submit="loginUser()" class="form-horizontal">
                        <fieldset>

                            <div class="input-prepend" title="Username">
                                <span class="add-on"><i class="halflings-icon user"></i></span>
                                <input class="input-large span10" name="email" id="txtEmail" type="text" placeholder="type email" ng-model="email"/>

                            </div>
                            <div class="clearfix"></div>

                            <div class="input-prepend" title="Password">
                                <span class="add-on"><i class="halflings-icon lock"></i></span>
                                <input class="input-large span10" name="password" id="txtPassword" type="password" placeholder="type password"/ ng-model="password">
                            </div>
                            <div class="clearfix"></div>

                            <label class="remember" for="remember"><input type="checkbox" id="remember" />Remember me</label>

                            <div class="button-login">  
                                <button type="submit" class="btn btn-primary" id="btnLogin" ng-model="signIn)">Login</button>
                            </div>


                    </form>
                </div><!--/span-->
            </div><!--/row-->
     </div>
</div>
Luego está mi aplicación. JS:
var app = angular.module('employeeApp', ['ui.router', 'firebase', 'ngResource']);                                     

var config = {
    apiKey: "xxx",
    authDomain: "xxx.firebaseapp.com",
    databaseURL: "https://xxx.firebaseio.com",
    storageBucket: "xxx.appspot.com",
  };

firebase.initializeApp(config);

app.factory("Auth", ["$firebaseAuth",
  function($firebaseAuth) {
    return $firebaseAuth();

  }
]);

app.run(["$rootScope", "$state", function($rootScope, $state) {
  $rootScope.$on("$stateChangeError", function(event, toState, toParams, fromState, fromParams, error) {
    // We can catch the error thrown when the $requireSignIn promise is rejected

    // and redirect the user back to the home page
    if (error === "AUTH_REQUIRED") {
      $state.go("home");
    }
  });
}]);

app.config(["$stateProvider", function ($stateProvider) {
  $stateProvider
    .state("home", {
      // the rest is the same for ui-router and ngRoute...
      controller: "HomeCtrl",
      templateUrl: "views/home.html",
      resolve: {
        // controller will not be loaded until $waitForSignIn resolves
        // Auth refers to our $firebaseAuth wrapper in the factory below
        "currentAuth": ["Auth", function(Auth) {
          // $waitForSignIn returns a promise so the resolve waits for it to complete
          return Auth.$waitForSignIn();

        }]

      }
    })
    .state("account", {
      // the rest is the same for ui-router and ngRoute...
      controller: "AccountCtrl",
      templateUrl: "views/account.html",
      resolve: {
        // controller will not be loaded until $requireSignIn resolves
        // Auth refers to our $firebaseAuth wrapper in the factory below
        "currentAuth": ["Auth", function(Auth) {
          // $requireSignIn returns a promise so the resolve waits for it to complete
          // If the promise is rejected, it will throw a $stateChangeError (see above)
          return Auth.$requireSignIn();
        }]
      }
    });

}]);

app.controller("HomeCtrl", ["currentAuth", function(currentAuth, $state) {
  // currentAuth (provided by resolve) will contain the
  // authenticated user or null if not signed in
}]);

app.controller("AccountCtrl", ["currentAuth", function(currentAuth) {

  // currentAuth (provided by resolve) will contain the
  // authenticated user or null if not signed in
}]);
¡Gracias de antemano por su ayuda!

La mejor manera de resolver el problema

intentó añadir la clave url a la configuración de Estado en la aplicación. JS (para más información, véase ui-router URL Routing). Por ejemplo:
  $stateProvider
    .state("home", {
      url: '/', // **Add this line**
      controller: "HomeCtrl",
Sin embargo, si desea que la URL sea algo más (como/login), también puede especificar la ruta predeterminada usando $urlRouterProvider.otherwise(), como sigue:
app.config(["$stateProvider", "$urlRouterProvider", function ($stateProvider, $urlRouterProvider) {
  // **Add this**
  $urlRouterProvider.otherwise('/login');
  $stateProvider
    .state("home", {
      url: '/login', // **And This**
      controller: "HomeCtrl",
(sé que este problema ha estado sucediendo durante meses, pero lo encontré mientras buscaba algo más, y pensé que compartiría mi solución en caso de que alguien más viera este artículo.)