Bir wordpress sayfasına gömülecek bir ajax uygulaması üzerinde çalışıyorum. Ajax uygulaması tomcat üzerinde çalışan sunucu uygulamaları ile veri alışverişi yapar. Şimdi sunucu uygulamacıları, wordpress'e oturum açan bir kullanıcıdan bir istek gelip gelmediğini belirlemek için bir yola ihtiyaç duyar. Kullanıcı oturum açtıysa, veritabanlarının sorgulanabilmesi için sunucu uygulamacıları da kullanıcı kimliğini belirleyebilmelidir. Kullanıcı oturum açmazsa, istek reddedilir.
Başka bir deyişle, bir sunucu uygulamasının yalnızca isteğe neden olan kullanıcı wordpress'e (sürüm 3.3.x) giriş yapmışsa bir istek gerçekleştirmesine izin vermeliyim. Hem sunucu uygulaması (tomcat) hem de wordpress (apache2) aynı fiziksel makinede çalışır ve aynı veritabanını paylaşır.
Teoride bu, aşağıdakileri yaparak kolayca çözülebilir:
- Wordpress oturum açma sırasında, bazı kullanıcı belirteci bir javascript değişkeninde depolanır.
- Ajax uygulaması kullanıcı belirtecini her çağrıda sunucu uygulamasına iletir.
- Sunucu uygulamaları, geçerliyse (yani, kullanıcı oturum açtıysa) wordpress'i sorgulamak ve isteği gerçekleştirmek veya reddetmek için jetonu kullanır.
Soru, bu wordpress tarafında nasıl uygulanabilir?
Çünkü, teoriyi bu kadar karmaşık kılan şey, henüz herhangi bir php programlama yapmadığı gerçeğidir.
İlk olarak wordpress_oked_in (auth) çerezini sunucu uygulamasına iletmeyi ve auth çerezinin hala geçerli olması durumunda sunucu uygulaması sorgulama wordpress'ine izin vermeyi düşünüyordum. Ancak göründüğü gibi, oturum açmış bir kullanıcının çerez verileri iletilse bile wp_validate_auth_cookie () her zaman başarısız olduğundan bu yapılamaz. Başka bir çözüm, oturum kimliği ve kullanıcı kimliğini bir tabloya depolayan ve sunucu uygulamaları tarafından kolayca sorgulanabilen bir eklenti geliştirmek olabilir. Ya da belki başka bir çözüm var ...