STACKJAVA

Tạo ứng dụng facebook để đăng nhập thay tài khoản

Tạo ứng dụng facebook để đăng nhập thay tài khoản.

(Xem thêm: Tạo ứng dụng Linkedin để đăng nhập thay tài khoản)

(Xem thêm: Tạo ứng dụng google+ để đăng nhập thay tài khoản)

Đăng nhập ứng dụng, web site bằng tài khoản facebook

Trong nhiều trường hợp, khi đăng nhập web, đăng ký ứng dụng, tài khoản… ta thường thấy có chức đăng nhập bằng facebook mà không cần tài khoản của trang web/ứng dụng đó.

Ví dụ đăng nhập trang itviec.com:

Vậy chức năng này hoạt động như nào?

Việc đăng nhập thông qua một bên thứ ba như facebook dựa trên cơ chế OAuth2.

Đầu tiên ta tạo một ứng dụng trên facebook (gọi tạm là ứng dụng A), khi người dùng click vào nút “Sign in with Facebook” thì nó sẽ chuyển hướng người dùng tới trang facebook để xác nhận có đồng ý cho phép ứng dụng A truy cập các thông tin tài khoản facebook của bạn không, nếu bạn đồng ý thì facebook sẽ gửi cho ứng dụng A một đoạn mã dùng để truy cập tài khoản facebook và lấy thông tin gửi về cho trang itviec.com, trang itviec.com dựa trên các thông tin đó để tạo cho bạn một tài khoản.

Tạo ứng dụng facebook để đăng nhập thay tài khoản stackjava.com

Tạo ứng dụng trên facebook để đăng nhập

Truy cập trang web https://developers.facebook.com/ để tạo tài khoản.

Nhập tên ứng dụng. (Ở đây mình đặt tên là demo-login)

Tạo chức năng đăng nhập cho ứng dụng

Cấu hình trang web sử dụng ứng dụng demo-login để login bằng facebook. Ở đây trang web của mình là https://localhost:8443/AccessFacebook.

Phần URI chuyển hướng OAuth hợp lệ bạn sẽ nhập đường dẫn của server xử lý code gửi về từ facebook. (URI phải là https).

Khi bạn đồng ý cho ứng dụng truy cập tài khoản facebook thì facebook sẽ gửi cho bạn một chuỗi access code về địa chỉ URI này. Từ chuỗi access code này ta có thể lấy được token để gửi các request lấy thông tài khoản facebook như email, danh sách bạn bè, họ tên, ảnh đại diện…

Trong trường hợp này, khi người dùng chọn đăng nhập bằng facebook nó sẽ chuyển hướng tới trang facebook để xác nhận bạn có cho phép ứng dụng demo-login truy cập các thông tin tài khoản facebook không, nếu bạn đồng ý thì facebook sẽ gửi ngược lại một đoạn access code về https://localhost:8443/AccessFacebook/login-facebook

Cấu hình các thông tin của ứng dụng demo-login :

Cuối cùng là bật (active) ứng dụng lên:

 

Tạo ứng dụng facebook để đăng nhập thay tài khoản stackjava.com

Okay, done!

Bài sau mình sẽ hướng dẫn mọi người dùng ứng dụng demo-login ở trên để đăng nhập trang web bằng facebook:

 

References:

https://developers.facebook.com/docs/apps/register