Belajar WordPress: Single Login Sederhana dengan Klik Link

Single Login/Single Logout adalah proses yang cukup sulit diterapkan antar framework, misal WordPress dengan CodeIgniter. Berikut adalah solusi single login sederhana dari CodeIgniter ke WordPress.

Syaratnya sederhana, tabel user di CodeIgniter dan di WordPress telah sama, baik username maupun password. Mekanisme yang dilakukan juga sederhana, kita akan melempar variabel GET berisi username, password ke salah satu script WordPress untuk diproses dan di-login-kan.

Contoh script di CodeIgniter:
[sourcecode language=”php”]
echo ‘<a href="http://wordpress.emka.web.id/custom-auth.php?u=’.$username.’&p=’.base64_encode($password).’">Login ke Blog</a>’;
[/sourcecode]

Sedangkan script custom-auth.php yang ditaruh di sistem wordpress anda:
[sourcecode language=”php”]
//include wordpress bootstrap
include_once "wp-load.php";

$creds = array();
$creds[‘user_login’] = trim($_GET[‘u’]);
$creds[‘user_password’] = base64_decode( trim($_GET[‘p’]) );
$creds[‘remember’] = true;
$user = wp_signon( $creds, false );
if ( is_wp_error($user) ){
echo $user->get_error_message();
}else{
wp_redirect("http://localhost/bidikmisi/wp-admin");
}
[/sourcecode]

Ada beberapa kelemahan script ini:
– variabel-variabel yang terbuka,
– enkripsi masih sederhana

Pengembangan yang bisa dilakukan:
– pengecekan autentifikasi dengan API KEY
– enkripsi penuh dan kuat
– pembatasan URL Referer