2015-07-09 26 views
9

Tôi biết rằng using Twitter/Facebook Firebase authentication with React Native sẽ phát ra lỗi vì rõ ràng đó không phải là quyền thích hợp để mở một cửa sổ xác thực mới. Ngoài ra, Email/mật khẩu auth cũng sẽ thất bại vì nó phụ thuộc vào LocalStorage mà React Native không hỗ trợ. Cách tốt nhất để triển khai bất kỳ loại xác thực Firebase nào trong React Native để tạo cầu Swift/ObjC sau đó thực sự chỉ sử dụng thư viện auth Swift/ObjC Firebase? Nếu có, có ai có ví dụ nào về việc này không?Phản hồi Gốc với Xác thực Firebase

Trả lời

16

Cập nhật: Kể từ Firebase 3.x, Xác thực Firebase sẽ duy trì đúng người dùng trong ứng dụng Gốc phản ứng.

Ahh, tôi đã không nhận ra rằng React Native không polyfill localstorage. Vì vậy, nếu tôi hiểu câu hỏi của bạn đúng, email/mật khẩu auth với Firebase hoạt động tốt trong React Native, ngoại trừ nó không được duy trì trên các ứng dụng bắt đầu, vì vậy người dùng phải đăng nhập mọi lúc.

Một giải pháp có thể là tự lưu giữ chính xác mã thông báo xác thực. Một cái gì đó như:

  1. Gọi authWithPassword (...) như bình thường.
  2. Trong trình xử lý onComplete, truy xuất authData.authToken và lưu trữ cục bộ (ví dụ: sử dụng AsyncStorage).
  3. Khi bắt đầu ứng dụng tiếp theo, hãy truy xuất mã thông báo xác thực từ bộ nhớ và gọi authWithCustomToken (authToken, ...).

Chúng tôi sẽ xem xét việc làm cho Firebase tự động thực hiện điều này, nhưng hơi khó để thực hiện việc này mà không ảnh hưởng đến người tiêu dùng khác của Firebase ngoài phản ứng. Tôi đã thêm điều này vào cơ sở dữ liệu lỗi nội bộ của chúng tôi mặc dù và chúng tôi sẽ xem những gì chúng tôi có thể đưa ra. Chúng tôi sẽ cập nhật câu trả lời này khi chúng tôi có giải pháp. Cảm ơn!

+0

Thiên tài. Đánh giá cao nó Michael! Tôi sẽ gửi qua bất kỳ phát hiện nào về kết thúc của tôi cũng như tôi chơi với nó. –

+0

Có đoạn mã/demo giới thiệu về cách thực hiện điều này không? ví dụ: tôi có thể xác thực người dùng làm việc cho web bằng liên kết này dưới dạng tham chiếu https://www.firebase.com/docs/web/guide/login/password.html nhưng làm cách nào tôi có thể làm việc này trong phản hồi gốc mà không bao gồm tệp firebase js? – ak85

+0

điều này đã được sửa chưa? Firebase có tiếp tục tồn tại với người dùng không? – Ferologics

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