Hi I have a login modal that does OAuth through Firebase. I'm trying to close the modal after social login, but I don't know where I should add the code to close the modal. Would it be part of the Authentication process or the modal?
Here's my modal:
{{#modal-dialog title="modal" id="modal" action="close"}}
<div class="tab-content">
<!--login tab-->
<div role="tabpanel" class="tab-pane active" id="login">
<div class="modal-body text-center">
<p>
<button {{action "loginFacebook"}} class="btn btn-default">
{{fa-icon "facebook"}}
Sign in with Facebook
</button>
</p>
<p>
<button {{action "loginTwitter"}} class="btn btn-default">
{{fa-icon "twitter"}}
Sign in with Twitter
</button>
</p>
...
Modal.js
import Ember from 'ember';
export default Ember.Controller.extend({
actions: {
close: function() {
return this.send('closeModal');
}
}
});
And here's my session.js for authentication:
var session = Ember.Object.extend({
ref : new Firebase("http://ift.tt/1P8qtHR"),
addFirebaseCallback: function() {
var session = this;
var ref = this.get('ref');
ref.onAuth(function(authData) {
if (authData) {
var user = parseAuthData(authData);
session.set("isAuthenticated", true);
session.set('uid', authData.uid);
session.set('user', user);
ref.child('users').child(authData.uid).set(user);
} else {
session.set("isAuthenticated", false);
}
});
}.on("init"),
loginFacebook: function() {
var session = this;
return new Ember.RSVP.Promise(function (resolve, reject) {
session.get("ref").authWithOAuthPopup("facebook", function(error, user) {
if (user) {
resolve(user);
} else {
reject(error);
}
},
{
remember: "sessionOnly",
scope: "email"
});
});
},
Thanks!!
Aucun commentaire:
Enregistrer un commentaire