Facebook Login menyediakan dua manfaat utama: autentikasi dan akses data. Keduanya tidak saling asing. Anda dapat menggunakan Facebook Login untuk mengautentikasi orang tanpa berencana mengakses data mereka. Dalam kasus tersebut, Anda tidak perlu meminta izin atau mengajukan aplikasi Anda untuk menjalani Tinjauan Aplikasi.
Autentikasi dan akses data masing-masing berlangsung selama periode yang pasti. Namun, periode kedaluwarsa untuk autentikasi dan akses data berbeda dan bergantung pada faktor yang berbeda.
Autentikasi memungkinkan orang untuk masuk ke aplikasi seluler atau web Anda dan membuat akun dengan menggunakan kredensial Facebook mereka. Mereka tidak perlu membuat atau mengingat kata sandi terpisah.
Saat aplikasi Anda menggunakan Facebook Login untuk mengautentikasi seseorang, aplikasi akan menerima token akses Pengguna. Jika aplikasi Anda menggunakan salah satu Facebook SDK, token ini berlaku selama sekitar 60 hari. Namun, SDK secara otomatis akan menyegarkan token setiap kali orang tersebut menggunakan aplikasi Anda, sehingga token kedaluwarsa dalam 60 hari setelah penggunaan terakhir. Jika aplikasi Anda tidak menggunakan Facebook SDK, Anda perlu menyertakan kode yang menyegarkan token Pengguna secara manual. Jika token akses pengguna kedaluwarsa, aplikasi Anda harus mengarahkan pengguna melalui alur login lagi.
Facebook Login juga memungkinkan Anda meminta izin saat orang login ke aplikasi Anda. Izin ini, jika diberikan oleh pengguna, memberi aplikasi Anda akses ke item data pengguna. Contoh: aplikasi Anda dapat mengakses nama pengguna dan foto profil.
Jika suatu aplikasi meminta izin, sering kali aplikasi tersebut wajib menjalani Tinjauan Aplikasi agar Facebook bisa memastikan bahwa datanya tidak disalahgunakan. Aplikasi Anda dapat meminta nama dan foto orang ( kolom profil default) dan untuk email tanpa melalui Tinjauan Aplikasi, tetapi semua izin lainnya memerlukan tinjauan. Untuk daftar izin dan mana yang memerlukan Tinjauan Aplikasi, lihat Referensi Izin.
Periode berlakunya akses data adalah 90 hari, berdasarkan saat pengguna terakhir aktif. Jika periode 90 hari ini berakhir, pengguna masih dapat mengakses aplikasi Anda — artinya, mereka masih diautentikasi — tetapi aplikasi Anda tidak dapat mengakses datanya. Untuk mendapatkan kembali akses data, aplikasi Anda harus meminta pengguna untuk mengotorisasi ulang izin aplikasi Anda.
Untuk meminta otorisasi ulang dengan Facebook SDK untuk Android atau Facebook SDK untuk iOS, panggil reauthorizeDataAccess()
di LoginManager
.
Dengan Facebook SDK untuk JavaScript, gunakan auth_type: 'reauthorize'
.
FB.login(function(response) { // Original FB.login code }, { auth_type: 'reauthorize' })
Untuk web, buat panggilan dengan auth_type=reauthorize
.
Izin berikut tidak kedaluwarsa:
ads_read
ads_management
business_management
configure_page_transactions
pages_manage_ads
pages_manage_cta
pages_manage_instant_articles
pages_manage_engagement
pages_manage_metadata
pages_manage_posts
pages_messaging
pages_read_engagement
pages_read_user_content
pages_show_list
read_audience_network_insights
read_insights
Dengan Android dan iOS SDK, Anda dapat mengambil kembali ketika akses aplikasi Anda ke data pengguna akan berakhir dengan memanggil dataAccessExpirationTime
pada objek token akses. Metode ini menampilkan tanggal yang menentukan kapan akses data akan berakhir.
Anda juga dapat menguji apakah akses ke data pengguna telah kedaluwarsa dengan memanggil isDataAccessExpired
, yang memberikan Boolean.
Sisi server, Anda dapat mengambil informasi ini dari endpoint debug_token
.
Di web, Anda dapat melihat waktu kedaluwarsa di payload: data_access_expiration_time
.
{ status: 'connected', authResponse: { accessToken: '...', expiresIn:'...', reauthorize_required_in:'...', data_access_expiration_time: '...', signedRequest:'...', userID:'...' } }
Terlepas dari kapan terakhir kali pengguna aktif, jika aplikasi Anda tidak menggunakan izin selama 90 hari, izin tersebut akan berakhir. Ini akan terjadi bahkan jika izin tersebut disetujui melalui tinjauan aplikasi.