2012-08-05 33 views
7

Tôi đang xây dựng một dịch vụ web cho phép người dùng đăng ký bằng cách tạo tài khoản 'thông thường' (tên người dùng/mật khẩu) hoặc bằng cách sử dụng đăng nhập facebook của họ (facebook connect)Để hợp nhất hoặc không hợp nhất? Tài khoản Facebook và tài khoản trang web thông thường

Nếu người dùng đăng ký với facebook, họ sẽ nhận được một tài khoản được tạo trên trang web của tôi.

Nếu người dùng đăng ký theo cách thông thường (tên người dùng/mật khẩu) họ cũng sẽ nhận được một tài khoản.

Điều tôi muốn làm là bằng cách nào đó hợp nhất các tài khoản này nếu chúng có cùng địa chỉ email. Điều này có khả thi hay tôi nên để chúng dưới dạng tài khoản riêng biệt?

Lý do hợp nhất là tôi không muốn người dùng có nhiều tài khoản trên mỗi địa chỉ email Có ai khác tạo tài khoản trên trang web của họ thông qua tài khoản facebook và tài khoản thông thường không? Nếu vậy, bạn áp dụng logic nào để xử lý hai loại tài khoản khác nhau này?

CẬP NHẬT

Tôi đoán câu hỏi của tôi là, nếu tài khoản thông thường có cùng địa chỉ email với tài khoản facebook. Tôi có an toàn để hợp nhất các tài khoản không? Hoặc tôi không thể tin tưởng email mà người dùng đã liên kết với tài khoản facebook của họ? -

Trả lời

0

Không chắc chắn nếu tôi có được những gì bạn đang cố gắng để nói, nhưng tôi cũng đã có một loạt các tài khoản và liên kết chúng với một hồ sơ Facebook. Sự khác biệt là tôi cũng có họ đăng nhập bằng cách sử dụng trang web ban đầu.

Vì vậy, tôi sẽ không cần kiểm tra email. Nó giống như thế này:

  1. Người dùng đã đăng nhập cho trang địa phương, trong trường hợp họ liên kết tài khoản của họ với google, tất cả những gì tôi làm là thêm trường FacebookId vào bảng.
  2. Người dùng chưa có tài khoản trên trang web của tôi, nhưng truy cập tài khoản thông qua tài khoản facebook hợp lệ, trong trường hợp đó người dùng được thêm vào danh sách tài khoản của tôi và nhận cả ID nội bộ và FacebookId.

Hy vọng điều này sẽ giúp bạn một chút. Tất nhiên tôi cũng có thể suy nghĩ theo hướng ngược lại hoàn toàn ở đây ..

+0

Xin chào, tôi đã cập nhật câu hỏi gốc – totalitarian

0

Tôi vừa trải qua một cái gì đó tương tự. Tôi không thấy bất kỳ lý do gì để có nhiều hơn nói 1 bảng cho các thành viên của tất cả các loại. Mỗi thành viên là một hàng, có nhiều lĩnh vực tùy thuộc vào cách họ trở thành thành viên.

Họ có thể đăng nhập một cách tự nhiên hoặc đăng nhập bằng Facebook. Trong mỗi trường hợp, chúng sẽ luôn luôn được đăng nhập một cách tự nhiên, nhưng trong trường hợp của Facebook, chúng sẽ không bị ảnh hưởng khi phải nhớ một bộ thông tin đăng nhập khác, bạn lấy chúng từ Facebook khi chúng xác thực trang web của bạn.

0

Bạn nên xem xét xác minh bất kỳ tài khoản nào đã đăng ký bằng địa chỉ email. Thông thường, việc này được thực hiện bằng cách gửi email cho người dùng yêu cầu họ nhấp vào liên kết đặc biệt hoặc bằng cách sao chép mã bạn gửi trong email và dán mã lên trang web của bạn.

Sau đó, bạn có thể khá tự tin rằng địa chỉ email do Facebook cung cấp là cùng một người dùng.

+0

Bạn có thể theo dõi những mạng xã hội nào mà người dùng được thiết lập để đăng nhập bằng cách tạo bảng social_accounts: 'id, user_id (từ trang web của bạn), social_network_id, social_network_name' Vì vậy, theo cách này, người dùng có thể đăng nhập bằng Google, Facebook, Twitter, v.v. và bạn sẽ có một bản ghi cho mỗi kết nối đó. –

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