Siteler Arası Komut Dosyası Sorunları
Alanlar arasında WP yetkilendirme çerezlerini aktaramazsınız. Ayrıca, programlı olarak başka bir WP kurulumuna giriş yapmak için düz metin şifreleri saklamak da istemezsiniz. Bu nedenle, kullanıcıların WordPress'e giriş yapması ve ardından üçüncü taraf sitesinden bir API bitiş noktası aracılığıyla giriş durumlarına erişmesi gerekir. Bu, WordPress'in tüm kimlik doğrulamasını işlemesini sağlar. API uç noktasının verileri üçüncü tarafa sunabilmesi için bir kullanıcının WP tarafına fiziksel olarak giriş yapması gerekeceğinden oldukça güvenlidir.
Bir API Bitiş Noktası oluşturma
Buraya az önce yazdığım bu makaleye göz atın: http://coderrr.com/create-an-api-endpoint-in-wordpress/
Ayrıca, kod gösterisini burada görebilirsiniz: https://gist.github.com/2982319
Kendi uygulama ihtiyaçlarınız için mantığı bulmanız gerekecek, ancak bu, WordPress tarafından istediğiniz her şeyi sunabileceğiniz bir uç nokta oluşturmanıza izin verecektir.
Kimlik doğrulama sitesi olarak WordPress kullandığınızdan, is_user_oked_in () gibi bir kontrol kullanabilirsiniz. Oturum açtılarsa, ihtiyaç duydukları bilgileri içeren bir kullanıcı nesnesini üçüncü tarafa iade edin.
Üçüncü Taraftan Oturum Açma
Üçüncü taraftan, redirect_to sorgu var'ı kullanarak sorunsuz bir deneyim için giriş sayfanıza bağlanabilirler. Giriş yaptıktan sonra, bunları üçüncü taraf sitesine geri gönderir.
http://sub.yourdomain.com/wp-login.php?redirect_to=http%3A%2F%2Fwww.third-party-domain.com
Uzaktan Girişler
Kullanıcıları üçüncü taraf bir siteden WordPress'e giriş yapmanız gerekiyorsa, bu sitede listelenen bazı basit WP işlevlerini kullanabilirsiniz: http://kuttler.eu/code/log-in-a-wordpress-user-programmatically/
Kesinlikle paylaşılan bir sır kullanmanız ve işleri güvende tutmak için bu sırdan zamana dayalı karmalar oluşturmanız gerekir. Temel olarak, şöyle görünecektir:
Üçüncü taraf, zaman damgası ve paylaşılan bir sır tarafından oluşturulan bir jetonla istek gönderir:
$shared_secret = 'foobar'; //do not send this to the API endpoint
$timestamp = time();
$token = md5($shared_secret.$time_stamp);
WordPress Kurulumu şu isteği alır:
$shared_secret = 'foobar';
$timestamp = esc_attr($_GET['timestamp']);
if((time() - $timestamp) > 30) # Threshold is 30 seconds
//do something here - TOKEN expired!
$token = md5($share_secret.$timestamp);
$token_to_check = esc_attr($_GET);
if($token == $token_to_check)
//authenticated!