Thông qua phương thức Đăng nhập bằng Facebook, bạn cũng có thể yêu cầu cấp quyền khi mọi người đăng nhập vào ứng dụng của bạn. Nếu người dùng cấp những quyền này, ứng dụng của bạn sẽ truy cập được các mục dữ liệu của người dùng. Ví dụ: ứng dụng của bạn có thể truy cập vào tên và ảnh đại diện của người dùng.
Nếu ứng dụng yêu cầu cấp quyền thì thông thường, bạn sẽ phải gửi ứng dụng đi xét duyệt để Facebook có thể đảm bảo rằng dữ liệu không bị sử dụng sai mục đích. Ứng dụng của bạn có thể yêu cầu cấp quyền truy cập vào tên và ảnh của mọi người (các trường mặc định trên trang cá nhân) và email mà không cần thực hiện quy trình xét duyệt ứng dụng. Tuy nhiên, mọi quyền khác đều cần phải xét duyệt. Hãy xem Tài liệu tham khảo về quyền để biết danh sách các quyền và những quyền nào yêu cầu xét duyệt ứng dụng.
Thời gian hết hạn của quyền truy cập dữ liệu là 90 ngày, tùy theo thời điểm người dùng hoạt động gần đây nhất. Khi hết thời gian 90 ngày này, người dùng vẫn có thể truy cập vào ứng dụng của bạn - tức là họ vẫn được xác thực - nhưng ứng dụng lại không thể truy cập vào dữ liệu của họ. Để lấy lại quyền truy cập dữ liệu, ứng dụng của bạn phải yêu cầu người dùng cấp lại quyền.
Để yêu cầu cấp lại quyền thông qua Facebook SDK dành cho Android hoặc Facebook SDK dành cho iOS, hãy gọi reauthorizeDataAccess() trong LoginManager.
Hãy sử dụng auth_type: 'reauthorize' đối với Facebook SDK dành cho JavaScript.
FB.login(function(response) { // Original FB.login code }, { auth_type: 'reauthorize' })Hãy thực hiện lệnh gọi bằng auth_type=reauthorize đối với web.
Dưới đây là các quyền sẽ không hết hạn:
Với Android SDK và iOS SDK, bạn có thể thực hiện lệnh gọi dataAccessExpirationTime trên đối tượng mã truy cập để truy xuất thời điểm hết hạn quyền truy cập của ứng dụng vào dữ liệu người dùng. Phương thức này sẽ trả về một ngày chỉ định thời điểm hết hạn quyền truy cập dữ liệu.
Bạn cũng có thể kiểm tra xem quyền truy cập vào dữ liệu người dùng đã hết hạn hay chưa bằng cách thực hiện lệnh gọi isDataAccessExpired. Lệnh gọi này sẽ trả về giá trị Boolean.
Ở phía máy chủ, bạn có thể truy xuất thông tin này từ điểm cuối debug_token.
Trên web, bạn có thể xem thời điểm hết hạn trong payload: data_access_expiration_time.
{ status: 'connected', authResponse: { accessToken: '...', expiresIn:'...', reauthorize_required_in:'...', data_access_expiration_time: '...', signedRequest:'...', userID:'...' } }Nếu ứng dụng của bạn không sử dụng một quyền trong 90 ngày, quyền đó có thể bị hết hạn, bất kể thời điểm người dùng hoạt động gần đây nhất. Điều này đúng ngay cả khi quyền đã được phê duyệt thông qua quy trình xét duyệt ứng dụng.
Link nội dung: https://melodious.edu.vn/cap-dang-facebook-a76916.html