Sử dụng Đăng nhập Facebook với hệ thống đăng nhập có sẵn

Bạn có thể tạo ứng dụng có cả cơ chế đăng nhập tùy chỉnh và Đăng nhập Facebook. Hướng dẫn này bao gồm một số tình huống trong số này và cung cấp cho bạn các mẹo xử lý trải nghiệm của người dùng những ứng dụng này.

Tổng quan

Bạn có thể triển khai hệ thống đăng nhập của chính mình ở nơi ai đó đăng ký ứng dụng bằng email và mật khẩu của họ và họ được tạo một tài khoản. Thông thường, ứng dụng dùng bước xác thực email trong trường hợp này để xác thực danh tính.

Ngoài ra, bạn có thể chọn dùng hoàn toàn Đăng nhập Facebook cho hệ thống đăng nhập của họ. Trong trường hợp này, một người đăng ký ứng dụng bằng Đăng nhập Facebook, họ được tạo một tài khoản và bước xác thực do Facebook thực hiện.

Ngoài những tình huống này, ứng dụng có thể cần xử lý các tình huống phức tạp hơn:

  • Một người đăng ký ứng dụng của bạn bằng email và mật khẩu của họ nhưng sau đó, họ muốn dùng Đăng nhập Facebook để lấy dữ liệu từ tài khoản Facebook của mình để đăng lên dòng thời gian hoặc chỉ để đăng nhập trong tương lai.
  • Một người đăng ký ứng dụng bằng địa chỉ email và mật khẩu của họ nhưng sau đó chọn đăng nhập riêng bằng Facebook. Hướng dẫn này giả sử rằng email họ cung cấp đầu tiên và email chính liên kết với tài khoản Facebook của họ là một.
  • Một người đăng ký ứng dụng bằng Đăng nhập Facebook và sau đó muốn đăng nhập vào tài khoản này bằng địa chỉ email và mật khẩu.

Hướng dẫn này trình bày điều chúng tôi cho là những cách tốt nhất để xử lý những tình huống này.

Liên kết Đăng nhập Facebook với một tài khoản đã đăng nhập

Phần này bao gồm tình huống ai đó dùng hệ thống đăng nhập tùy chỉnh của một ứng dụng để tạo tài khoản. Sau đó, trong khi vẫn đăng nhập, họ muốn liên kết tài khoản Facebook của mình với tài khoản đó. Ví dụ: mọi người có thể đăng ký Spotify bằng địa chỉ email và mật khẩu nhưng sau đó họ có thể chọn liên kết tài khoản đó với tài khoản Facebook của mình bằng Đăng nhập Facebook, chẳng hạn như khi họ muốn đăng hoạt động nghe của mình lên dòng thời gian.

1. Thêm luồng Đăng nhập Facebook vào ứng dụng

Đọc hướng dẫn của chúng tôi về sử dụng luồng Đăng nhập Facebook trong ứng dụng của bạn để hoàn tất bước này. Trong ví dụ về Spotify, bạn bắt đầu luồng Đăng nhập Facebook ở điểm trong ứng dụng mà người đó cho thấy rằng họ muốn đăng hoạt động nghe hoặc bạn có thể cung cấp một tùy chọn rõ ràng để liên kết tài khoản của họ với tài khoản Facebook.

2. Xử lý hợp nhất thông tin tài khoản

Sau khi một người đã đăng nhập vào ứng dụng bằng hệ thống đăng nhập của chính bạn rồi hoàn tất luồng Đăng nhập Facebook, ứng dụng sẽ có 2 điều rất quan trọng cần hợp nhất ngay:

  • Tài khoản do ứng dụng tạo
  • Thông tin từ Facebook xác tinh tài khoản Facebook của người đó

Phần lớn ứng dụng, tài khoản gốc sẽ được lưu trữ trong một bảng cơ sở dữ liệu nên cách tiếp cận đơn giản nhất là liên kết thông tin tài khoản Facebook với tài khoản đó trong cơ sở dữ liệu.

Thông thường, tốt hơn là nên tạo bảng mới để lưu trữ thông tin tài khoản Facebook của người đó. Ưu điểm của việc giữ một bảng riêng thay vì thêm cột khác vào bảng tài khoản có sẵn là điều đó cho phép bạn hỗ trợ nhanh các hoạt động đăng nhập tài khoản OAuth khác theo thời gian.

Trong tương lai, nếu cùng một người chọn đăng nhập vào ứng dụng của bạn, bạn có thể khớp thông tin được lưu trữ trong cơ sở dữ liệu để đăng nhập họ thuận lợi bằng một trong hai phương thức.

Hợp nhất các tài khoản được tạo riêng bằng Đăng nhập Facebook

Trong tình huống này, một người đăng nhập vào ứng dụng của bạn bằng thông tin đăng nhập của chính họ chẳng hạn như địa chỉ email và mật khẩu. Sau đó, khi người này đăng xuất, họ chọn đăng nhập vào ứng dụng bằng Đăng nhập Facebook. Ứng dụng hiện sẽ có 2 tài khoản cho cùng một người, một tài khoản được tạo qua hệ thống đăng nhập ứng dụng, tài khoản còn lại được tạo qua luồng Đăng nhập Facebook. Để cung cấp trải nghiệm tốt nhất cho người đó, ứng dụng phải cố hợp nhất các tài khoản này thành một.

Hướng dẫn này giả thuyết rằng mỗi tài khoản do ứng dụng tạo được liên kết với một địa chỉ email. Tuy nhiên, có thể người đó đã sử dụng một email khác để tạo tài khoản hiện tại của họ so với tài khoản họ đã liên kết với tài khoản Facebook của mình. Trong trường hợp này, bạn nên cung cấp cho mọi người một tùy chọn 'Hợp nhất tài khoản' rõ ràng ở đâu đó trong ứng dụng rồi cho phép người đó chỉ định thủ công 2 tài khoản riêng mà họ muốn hợp nhất.
Ngoài ra, nếu các tài khoản tùy chỉnh của chính bạn không lưu trữ địa chỉ email, thì một lần nữa, bạn cần cho phép người đó chỉ định thủ công các tài khoản mà họ muốn hợp nhất.

1. Sửa đổi luồng Đăng nhập Facebook để yêu cầu quyền cho email

Nếu hệ thống đăng nhập tùy chỉnh của chính ứng dụng dùng một địa chỉ email để xác định duy nhất mỗi tài khoản, bạn cũng nên yêu cầu địa chỉ email của người đó (bằng quyền email) trong luồng Đăng nhập Facebook. Hãy đọc hướng dẫn yêu cầu quyền của chúng tôi để tìm hiểu cách thực hiện việc này.

2. Hợp nhất tài khoản Đăng nhập Facebook và tài khoản ứng dụng

Sau khi đăng nhập thành công bằng Facebook, bạn sẽ có địa chỉ email, ID Facebook và mã truy cập của người đó. Ứng dụng nên tìm kiếm tài khoản có sẵn đã được tạo bằng cùng một địa chỉ email đó. Nếu có, bạn nên hợp nhất 2 tài khoản và thêm thông tin trên Facebook vào tài khoản có sẵn - như khuyến nghị ở trên.

Vào lúc này, bạn nên đăng nhập người đó như thường lệ.

Nếu trong cơ sở dữ liệu không có mục nhập nào có địa chỉ email đó thì bạn nên coi họ là một người dùng mới.

Thêm thông tin đăng nhập thủ công vào một tài khoản được tạo bằng Đăng nhập Facebook

Tình huống này xảy ra khi ai đó tạo tài khoản trong ứng dụng bằng Đăng nhập Facebook nhưng sau đó cũng muốn đăng nhập vào tài khoản bằng thông tin đăng nhập duy nhất và mật khẩu. Ví dụ: Netflix có một ứng dụng trên web dùng Đăng nhập Facebook cùng với một hệ thống đăng nhập thông thường đồng thời một ứng dụng trên Xbox 360 mà mọi người chỉ có thể sử dụng hệ thống đăng nhập thông thường.

1. Đảm bảo địa chỉ email Đăng nhập Facebook được xác minh

Nếu bạn sử dụng địa chỉ email làm thông tin đăng nhập duy nhất xác định mỗi tài khoản, ứng dụng sẽ xác minh rằng địa chỉ email được liên kết với tài khoản Facebook của người đó (và có được trong quá trình Đăng nhập Facebook) là hợp lệ. Bạn có thể thực hiện việc này bằng cách tạo mã trong ứng dụng để gửi email xác nhận đến địa chỉ có được sau khi Đăng nhập Facebook (bạn có thể vẫn cần có bước này như một phần trong hệ thống đăng nhập thông thường).

2. Yêu cầu người đó cung cấp mật khẩu mới (và thông tin đăng nhập khác)

Sau khi địa chỉ email được xác minh, bạn hiện có thể yêu cầu người đó cung cấp mật khẩu, cho họ biết rằng họ có thể sử dụng mật khẩu này để đăng nhập vào ứng dụng trong tương lai cùng với địa chỉ email của họ. Sau khi được cung cấp, bạn có thể thêm mật khẩu này vào cùng một phần của cơ sở dữ liệu nơi bạn đang lưu trữ thông tin tài khoản.

Nếu hệ thống đăng nhập của ứng dụng không dùng địa chỉ email để nhận dạng và dùng thứ gì đó người dùng tạo như tên người dùng thì bạn cũng nên yêu cầu người đó cung cấp thông tin này cùng lúc với mật khẩu.

Mọi người cũng có thể mong đợi ứng dụng cung cấp khả năng xóa liên kết tài khoản Facebook khỏi tài khoản đăng nhập của mình - điều này đơn giản bao gồm việc tách bảng cơ sở dữ liệu tài khoản của thông tin trên Facebook cho người cụ thể đó.