2016-12-01 26 views
5

Tôi muốn nhận quy trình làm việc phụ cho chương trình của mình, nhưng tôi không muốn lưu trữ cặp đăng nhập/mật khẩu của người dùng theo cách mở. Những gì tôi nên sử dụng để nhận ra rằng quy trình làm việc trong ứng dụng của tôi? Bất kỳ lời khuyên nào? Cảm ơn.Quy trình làm việc autologin tự động (đăng nhập lần đầu) cho liên kết C++

cập nhật: Những gì tôi có ngay bây giờ, ứng dụng đơn giản, được viết bằng Qt/Qml và sử dụng Firebase C++ api.

Khi bắt đầu, tôi sẽ nhận được Firebase :: Ứng dụng và Firebase :: Auth khởi động thành công. Sau init Auth, tôi đăng ký AuthStateListener lớp với mã xử lý đơn giản:

void AuthManager::OnAuthStateChanged(firebase::auth::Auth *auth) 
{ 

    if(auth->CurrentUser()){ 
     qDebug() << "get auth :" << auth->CurrentUser()->Email().c_str(); 
    } 
    else{ 
     qDebug() << "still not auth"; 
    } 
} 

Sau khi ứng dụng khởi động nó viết để an ủi bản ghi thứ hai ngành ("vẫn không auth"). Và không có điều gì xảy ra. Sau đó, trong gui tôi nhấp vào nút signIn của tôi và làm SignInWithEmailAndPassword trong trình xử lý của nút. Sau đó tôi nhận được sự kiện mới trong OnAuthStateChanged. Bây giờ tôi đã được ủy quyền, nhưng không có autologin. Hy vọng điều đó sẽ hữu ích. Cảm ơn.

Trả lời

1

Sự cố được giải quyết bằng cách cập nhật lên Firebase C++ SDK 2.1.0 (từ ngày 9 tháng 9 năm 2016)

+0

Bạn có tìm thấy câu trả lời cho [this] (http://webcache.googleusercontent.com/search?q=cache:1tF4_KbWNhUJ:stackoverflow.com/questions/40897719/undefined-symbols-at-firebasevariant+&cd=1&hl=vi&ct = clnk & gl = dk & client = ubuntu)? Tôi hỏi vì tôi có một đầu ra rất giống nhau khi cố gắng liên kết với libanalytics.a – Larpon

+1

@Larpon, sắp xếp lại danh sách thư viện liên kết của bạn. Một số thư viện tĩnh nên liên kết trước hoặc sau một số thư viện khác. Chơi theo thứ tự. – Dcow

+0

Yups! – Larpon

0

Với Firebase, bạn nhận được mã thông báo truy cập sau khi xác thực và Firebase quản lý phiên cho bạn. Do đó, không cần lưu trữ thông tin đăng nhập/mật khẩu người dùng hoặc mã thông báo.

Thay vào đó, bạn có thể sử dụng AddAuthStateListener để phát hiện khi thay đổi trạng thái xác thực (ví dụ: khi người dùng đăng nhập). Cũng cần lưu ý rằng, nếu bạn cần chuyển mã thông báo cho quy trình phía máy chủ để xác minh danh tính, bạn có thể sử dụng phương thức Token cho điều này và SDK máy chủ/SDK quản trị Firebase bao gồm chiến lược verify ids tokens.

+0

Xin lỗi, tôi vẫn không hiểu. Cách đăng nhập firebase sau khi chương trình bị đóng? – Dcow

+0

Tại sao bạn muốn xác thực trong khi chương trình bị đóng? Điều đó không có ý nghĩa với tôi. Những gì tôi nói ở đây là nó xác thực khi ứng dụng được mở cửa trở lại. – Kato

+0

Không, không. Btw, nó không phải cho tôi. Tôi có thể làm gì sai không. Tôi đã tạo AuthStateListenet và nó chỉ bắt được một sự kiện và tại thời điểm đó, Firebase vẫn không xác thực. Tôi kiểm tra auth-> CurrentUser() == nullptr và nhận được sự thật. – Dcow

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