2016-06-01 55 views
5

Có vẻ như không thể sử dụng tính kiên trì phiên trong firebase 3.0.Tính ổn định phiên Firebase 3.0

Đây là nơi cư trú của phiên bản trước: https://www.firebase.com/docs/web/guide/login/password.html

authWithPassword() nhận một tham số thứ ba tùy chọn mà là một đối tượng chứa bất kỳ các thiết lập sau:

nhớ - Chuỗi
Nếu không được chỉ định - hoặc được đặt thành mặc định - phiên được tiếp tục tồn tại miễn là bạn đã định cấu hình trong tabĐăng nhập của Trang tổng quan ứng dụng của mình. Để hạn chế sự tồn tại trong suốt thời gian tồn tại của cửa sổ hiện tại , hãy đặt phiên này thành phiênChỉ. Giá trị không có sẽ không hoàn toàn là dữ liệu xác thực tồn tại và sẽ kết thúc xác thực ngay sau khi trang được đóng.

Trong phiên bản 3.0 không có đề cập đến các tham số thứ 3 tùy chọn: https://firebase.google.com/docs/reference/js/firebase.auth.Auth#signInWithEmailAndPassword

signInWithEmailAndPassword (email, mật khẩu)
lợi nhuận firebase.Promise chứa không null firebase.User

Ngoài ra, trong bảng điều khiển mới (https://console.firebase.google.com/) Tôi không thể tìm thấy tùy chọn để thay đổi độ kiên trì mặc định.

Trả lời

3

Trong 3.0, người dùng hiện tại luôn tồn tại cho đến khi signOut() được gọi (hoặc người dùng xóa bộ nhớ cục bộ).

+0

Hành vi này có thể thay đổi không? Tôi muốn sử dụng sessionOnly, trừ khi người dùng chọn ghi nhớ phiên của mình ... Đối với một ứng dụng bảo mật quan trọng sẽ được sử dụng trên các máy tính dùng chung, thực tiễn không tốt là tự động duy trì phiên. Hoặc ... Làm cách nào tôi có thể gọi signOut() khi phiên hết hạn (khi trình duyệt đóng)? Tôi không nghĩ rằng điều này là có thể ... – WSas

+1

Hiện tại sessionOnly trên web không được hỗ trợ, nhưng có sự quan tâm mạnh mẽ trong việc hỗ trợ nó trong tương lai. – bojeil

5

Cũng cần lưu ý rằng bạn cần đợi trạng thái xác thực. Theo các tài liệu:

Cách đề nghị để có được những người sử dụng hiện nay là bằng cách thiết lập một quan sát viên trên đối tượng Auth:

firebase.auth().onAuthStateChanged(function(user) { 
    if (user) { 
    // User is signed in. 
    } else { 
    // No user is signed in. 
    } 
}); 

Liên kết đến các tài liệu ở đây: https://firebase.google.com/docs/auth/web/manage-users

1

căn cứ hỏa lực Auth JS SDK hiện hỗ trợ duy trì sessionOnly. Để biết thêm về điều này, hãy kiểm tra https://firebase.google.com/support/release-notes/js#4.2.0https://firebase.google.com/docs/auth/web/auth-state-persistence

Bây giờ bạn có thể chỉ định hoặc chuyển đổi trạng thái bảo lưu trạng thái xác thực trước hoặc sau khi đăng nhập. Trong trường hợp của bạn, bạn có thể chỉ định duy trì phiên duy nhất như sau: firebase.auth().setPersistence(firebase.auth.Auth.Persistence.SESSION)

+0

Trong khi liên kết có thể trả lời câu hỏi, sẽ tốt hơn khi thêm nội dung cần thiết từ liên kết đến câu trả lời này cùng với trích dẫn để làm cho câu trả lời này ngay cả khi không có liên kết.Vui lòng xem [answer] để biết thêm chi tiết –

+0

Chi tiết cho câu trả lời đã được thêm vào. – bojeil

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