Member facebook selalu bertambah setiap tahunnya sama seperti member web web besar lainnya seperti google plus,twitter,comshar,dll.Pada kesempatan ini saya akan sharing sebuah tutorial membuat login facebook pada codeigniter khusus untuk library ion_auth.Untuk menggunakan twitter,comshar,google plus menyusul ya,dan library codeigniter lainnya juga nyusul ya.
Oke tidak perlu berpanjang lebar.Berikut ini adalah langkah langkah untuk membuat login facebook menggunakan codeigniter dengan ion_aunth library.
- Pertama tama persapkan dan install framework codeigniter anda.
- Install ion auth codeigniter library.
- Setelah semuanya siap copy Facebook Ion Auth library.
- copy paste seluruh file dari facebook ion auth library pada Project Codeigniter anda.
- Setelah semuanya beres,pada config autoload tambahkan Facebook_ion_auth.php.Jika bingung lokasi config autoload berada di application/config/autoload.php cari line $autoload['libraries'].
$autoload['libraries'] = array('database', 'ion_auth', 'Facebook_ion_auth');
- Langkah selanjutnya membuat app di facebook.linknya di sini
- Lalu pilih app>create new app
- Setelah berhasil membuat applikasi di facebook anda akan mendapatkan App id dan App Secret key .
- Selanjutnya pergi ke Setting <add a platform ,lalu pilih website .
- Lalu isikan Site url dan app domain dengan url website sobat.
- Langkah selanjutnya adalah Konfigurasi Facebook Ion Auth.Langkah selanjutnya edit config facebook ion auth seperti di bawah ini
$this->app_id = ""; // data app id facebook kamu
$this->app_secret = ""; // data app secret key dari facebook kamu
$this->my_url = site_url('auth/facebooklogin'); // isikan fungsi login facebook pada class ion auth
$this->scope = 'email'; // custom permissions check - http://developers.facebook.com/docs/reference/login/#permissions
(lokasi filenya berada di application/config/facebook_ion_auth.php)
- Lalu buat function pada controller ion auth(controller/auth.php).
function facebooklogin()
{
$this->facebook_ion_auth->login();
}
Setelah itu konfig file Facebook_ion_auth.php di application/libraries.
public function login() {
// null at first
$code = $this->CI->input->get('code');
if(!$code) {
$this->CI->session->set_userdata('state', md5(uniqid(rand(), TRUE)));
$url_to_redirect = "https://www.facebook.com/dialog/oauth?client_id=".$this->app_id."&redirect_uri=".urlencode($this->my_url)."&state=".$this->CI->session->userdata('state').'&scope='.$this->scope;
redirect($url_to_redirect);
} else {
if($this->CI->session->userdata('state') && ($this->CI->session->userdata('state') === $this->CI->input->get('state'))) {
$token_url = "https://graph.facebook.com/oauth/access_token?"
. "fields=name,email&client_id=" . $this->app_id . "&redirect_uri=" . urlencode($this->my_url)
. "&client_secret=" . $this->app_secret . "&code=" . $code;
$response = file_get_contents($token_url);
$params = null;
parse_str($response, $params);
$this->CI->session->set_userdata('access_token', $params['access_token']);
$graph_url = "https://graph.facebook.com/me?fields=name,email&access_token=".$params['access_token'];
$user = json_decode(file_get_contents($graph_url))
//if di bawah ini check user email dengan email di facebaook.
if(!$this->CI->ion_auth_model->identity_check($user->email)){
//jadi disini kalau email facebook masih belum ada yg daftar.
$name = explode(" ", $user->name);
//harus kasih data ke fbregister->form email,username,password
//$register = $this->CI->ion_auth->register($name[0].$name[1], 'facebookdoesnothavepass123^&*%', $user->email, array('first_name' => $name[0], 'last_name' => $name[1]));
//$this->session->set_flashdata('username', $name[0].$name[1]);
$usrn = $name[0].$name[1];
$eml = $user->email;
$link = $usrn."&".$eml;
$result = rtrim(base64_encode($link),'=');
$register = $this->CI->ion_auth->register($user->username, 'facebookdoesnothavepass123^&*%', $user->email, array('first_name' => $name[0], 'last_name' => $name[1]));
}else {
sudah terdaftar langsung login
$login = $this->CI->ion_auth->login($user->email, 'facebookdoesnothavepass123^&*%', 1);
}
return true;
}
else {
return false;
}
}
}
- Yeah akhirnya selesai juga.
Kesimpulan
Dengan menggunakan ion auth kita dapat membuat login dengan facebook pada codeigniter.Dengan facebook login akan mempermudah member facebook untuk login ke project codeigniter kita tanpa harus susah payah isi informasi.
Jika ada problem silahkan komen saya akan bantu sebisa saya.
Title : Cara membuat login facebook codeigniter ion_auth
Description : Member facebook selalu bertambah setiap tahunnya sama seperti member web web besar lainnya seperti google plus,twitter,comshar,dll.Pada...