Firebase身份验证和设计

时间:2017-05-23 19:15:40

标签: ruby-on-rails firebase devise firebase-authentication

我有一个问题,我正在尝试与gem设备进行会话,但同时在firebase中创建会话以便能够保存数据并使用文件存储,到目前为止我已经能够这样做,但在关闭会话并希望再次启动会话时,不再与firebase建立连接。



  $("#inicioUser").submit(function(event){
    event.preventDefault();
    console.log("funciono");
    var email = $('#email').val();
    var password = $('#password').val();
   
    var ses = sessionEmail(email,password);
    return ses 
    
    
  });
  
  var sessionEmail = function sessionEmail(email,password){
   return firebase.auth().signInWithEmailAndPassword(email, password).catch(function(error) {
  // Handle Errors here.
  var errorCode = error.code;
  var errorMessage = error.message;
  if (errorMessage) {
      errorRegister(errorMessage);
      return false;
  }else{
   success();
   return true;
  }
 
});
}
  

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


<%= form_for resource, as: resource_name, url: session_path(resource_name), :html => {:id => "inicioUser"} do |f| %>
  <div class="field">
    <%= f.label :email %><br />
    <%= f.email_field :email, autofocus: true, :id => 'email' %>
  </div>

  <div class="field">
    <%= f.label :password %><br />
    <%= f.password_field :password, autocomplete: "off", :id => 'password' %>
  </div>

  <% if devise_mapping.rememberable? -%>
    <div class="field">
      <%= f.check_box :remember_me %>
      <%= f.label :remember_me %>
    </div>
  <% end -%>

  <div class="actions">
    <button id="logInForm" >Inciar sesion</button>
    
  </div>
<% end %>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

看起来你想在没有错误被捕获时调用成功函数?

如果不深入研究它,我会猜测问题是当你遇到Firebase错误时,可能总会有一条错误消息(即使是空的),所以它永远不会到达成功函数。这是我的猜测。

如果将成功函数放入承诺的then()部分,则在没有错误时将调用成功函数。如果有错误则不应该调用,我猜测的就是你想要的。我可能错了,但我希望这是一些帮助。

var sessionEmail = function sessionEmail(email,password){
  firebase
    .auth()
    .signInWithEmailAndPassword(email, password)
    .then(function() {
      success();
    })
    .catch(function(error) {
      errorRegister(error.message);
    });
};
相关问题