2014-09-16 22 views
10

Tôi muốn biết cách nhận người dùng hiện tại. Tôi đang tạo một chức năng trong đó người dùng đang tạo nhóm và muốn thêm người dùng tạo nhóm vào cùng một lúc. Tôi có thể khiến cả nhóm trở nên tốt, đủ đơn giản. Nhưng tôi không biết cách truy cập đối tượng người dùng bên ngoài đối tượng đăng nhập đơn giản.cách nhận người dùng hiện tại trên firebase

Tôi xin lỗi nếu có một số chủ đề nêu rõ điều này, nhưng tôi đã tìm kiếm hàng giờ và không thể tìm thấy bất cứ điều gì giải thích nó. Bất kỳ trợ giúp sẽ được đánh giá cao.

+0

Có thể http://stackoverflow.com/questions/17259556/ nhà máy-get-current-user-id-cho-firebase-đơn giản-đăng nhập-email-mật khẩu trả lời câu hỏi của bạn? – ChristonianCoder

+0

Bạn đang sử dụng ngôn ngữ/khung nào? Tôi sẽ trả lời giả sử bạn đang sử dụng JavaScript ole thuần túy. – mimming

Trả lời

10

Người dùng hiện đã đăng nhập được trả về từ cuộc gọi lại của Đăng nhập đơn giản. Gọi lại này chạy khi người dùng của bạn xác thực hoặc nếu người dùng của bạn đã được xác thực, nó chạy tại thời điểm tải trang.

Hãy hình thức này mã simple login docs:

var myRef = new Firebase("https://<your-firebase>.firebaseio.com"); 
var authClient = new FirebaseSimpleLogin(myRef, function(error, user) { 
    if (error) { 
    // an error occurred while attempting login 
    console.log(error); 
    } else if (user) { 
    // user authenticated with Firebase 
    console.log("User ID: " + user.uid + ", Provider: " + user.provider); 
    } else { 
    // user is logged out 
    } 
}); 

Đối tượng người dùng được tiếp xúc trong callback. Nó chỉ trong phạm vi trong khi thực hiện cuộc gọi lại đó, vì vậy nếu bạn muốn sử dụng nó ở bên ngoài, hãy lưu trữ nó trong biến để sử dụng lại sau này như sau:

var currentUser = {}; 
var myRef = new Firebase("https://<your-firebase>.firebaseio.com"); 
var authClient = new FirebaseSimpleLogin(myRef, function(error, user) { 
    if (error) { 
    // an error occurred while attempting login 
    console.log(error); 
    } else if (user) { 
    // user authenticated with Firebase 
    currentUser = user; 
    } else { 
    // user is logged out 
    } 
}); 
... 

// Later on in your code (that runs some time after that login callback fires) 
console.log("User ID: " + currentUser.uid + ", Provider: " + currentUser.provider); 
+0

Cảm ơn! Bạn đã đoán đúng và điều này đã giúp tôi rất nhiều. Thực sự đánh giá cao sự giải thích sâu sắc của tất cả. –

Các vấn đề liên quan