Burada adım adım gidelim. Görünüşe göre OAuth'u yalnızca kimlik doğrulama için kullanmaya çalışıyorsunuz, ancak bunu yapmadan önce API çağrılarınızı yaparken kimlik doğrulamak için kullanılacak Erişim Jetonunu almanız gerekiyor .
Bu, OAuth sürüm 1 kullandığından, Erişim Simgesini edinmek için aşağıdakileri yapmanız gerekir:
- İlk olarak, bir uygulama kurun , istemcinin kimliğini ve uygulamanın sırrını kullanarak İstek Jetonu (geçici kimlik bilgileri) almak için siteyi arayın
- İkinci olarak, ilk adımdan (Kullanıcıya dönük, aşağıya bakın) Talep Jetonu ile Uygulamaya yetki vermek için siteyi arayın .
- Üçüncüsü, yetkilendirme tamamlandıktan sonra, Erişim Simgesini almak için siteye bir çağrı yaparsınız (şimdi uygulama yetkilendirildi)
İlk birkaç adım için Postman'ı kullanmanızı öneririm, çünkü bunların sadece bir kez tamamlanması gerekir. Postacı ayrıca timestamp
, nonce
ve oauth signature
OAuth kitaplığı kullanmıyorsanız, Postacı'yı mutlaka kullanmalısınız. Access Token'ınızı aldıktan sonra herhangi bir kütüphane olmadan CURL üzerinden çağrı yapabilirsiniz.
https://www.getpostman.com/
İlk Adım (kurulum uygulaması)
WP OAuth 1 eklentisini yükleyin, etkinleştirin, ardından Kullanıcılar> Uygulamalar altındaki menü öğesine gidin . Yeni uygulama ekleyin, isim ve açıklama girin. Geri arama için, kullanıcıyı (yetkilendirdikten sonra) yönlendirecek URL veya oop
doğrulayıcı jetonunu görüntüleyen dahili bir sayfaya yönlendirecek olan Bant Dışı akışı için (yönlendirme yerine).
https://github.com/WP-API/OAuth1/blob/master/docs/basics/Registering.md
İkinci adıma geçmek için, oluşturulmuş uygulamadaki Client ID ve Client Secret kullanılarak geçici kimlik bilgileri almak için sitenize bir çağrı yapılması gerekir (İstek Jetonu).
Postacı'yı açın, yeni bir çağrı oluşturun http://website.com/oauth1/request
, Yetkilendirme sekmesini tıklayın, açılır menüden OAuth 1.0'ı seçin, İstemci Anahtarını, İstemci Sırrını girin, imza yöntemini ayarlayın HMAC-SHA1
, başlığa paramitler eklemeyi etkinleştirin, oauth imzasını kodlayın , ardından Güncelleme İsteğini tıklayın.
Postacı sizin için otomatik olarak imza, nonce ve zaman damgası oluşturur ve bunları başlığa ekler (Başlıklar sekmesi altında görüntüleyebilirsiniz).
Gönder tıklayın ve içeren bir cevap alırsınız oauth_token
ve oauth_token_secret
:
Bu değerler, bir sonraki adımda WordPress kullanıcı hesabınız altında uygulamayı yetkilendirmek için kullanılacaktır.
İkinci Adım (başvuruyu yetkilendir)
Yetkilendirme adımının yalnızca bir kez tamamlanması gerekir, bu adım kullanıcı yüzündedir ve herkesin bildiği adımdır. Bu adım, OAuth1 kullandığınız ve uygulamanın bir WordPress kullanıcı hesabıyla ilişkilendirilmesi gerektiği için gereklidir. Bir sitenin Facebook ile giriş yapmanıza ne zaman izin verdiğini düşünün ... sizi giriş yaptığınız Facebook'a yönlendirin ve "Yetkilendir" i tıklayın ... bunun sadece WordPress siteniz üzerinden yapılması gerekiyor.
URL'deki değişkenleri kolayca ayarlayabileceğiniz için Web Tarayıcınızı bu adım için kullanmanızı öneririm ve bu, uygulamayı yetkilendirmek için "Yetkilendir" sayfasını sağlar.
Web tarayıcınızı açın ve sitenizin URL'sini aşağıdaki gibi yazın:
http://website.com/oauth1/authorize
Şimdi bu URL'ye oauth_consumer_key
(Müşteri Kimliği) oauth_token
ve oauth_token_secret
(önceki adımdan) ekleyin . Örneğimde bu tam URL:
http://website.com/oauth1/authorize?oauth_consumer_key=TUPFNj1ZTd8u&oauth_token=J98cN81p01aqSdFd9rjkHZWI&oauth_token_secret=RkrMhw8YzXQljyh99BrNHmP7phryUvZgVObpmJtos3QExG1O
Yetkilendir'i tıkladığınızda, doğrulama belirtecini içeren başka bir ekran alırsınız. Örneğimde bu, döndürülen doğrulama jetonuE0JnxjjYxc32fMr2AF0uWsZm
Üçüncü Adım (erişim belirteci edinin)
Uygulamayı yetkilendirdiğimize göre, tüm API çağrılarınızı yapmak için kullanılacak Yetkilendirme Jetonunu almak için son bir çağrı yapmamız gerekiyor. Tıpkı ilk adımda olduğu gibi Postman'ı kullanacağım (çünkü imza HMAC-SHA1 olması gerekiyor) ve bu adımları tamamlamayı 100 kat kolaylaştırıyor.
Postacı'yı tekrar açın ve URL'yi http://website.com/oauth1/access
Token ve Token Secret'ı (ilk adımdaki değerler) eklediğinizden emin olun, ardından URL'nin altındaki kutuları göstermek için Params'ı tıklayın . Soldaki oauth_verifier yazın ve sağdaki ikinci adım olan Doğrulama Jetonu'ndaki kodu girin
Güncelleme İsteği'ni ve ardından Gönder'i tıkladığınızdan emin olun ve geri yanıt almalısınız oauth_token
ve oauth_token_secret
... API çağrılarınızı yapmak için ihtiyacınız olan şey budur! Orijinalleri 1. adımdan atın, bunları kodunuza veya güvenli bir yere kaydedin.
Daha sonra sitenize bir API çağrısı yaparak başlıkları döndürülen belirteç ve belirteç sırrı ile ayarlayabilirsiniz.
Yetkilendirme üstbilgisi aracılığıyla GET parametrelerinde veya POST (application / x-www-form-urlencoded olarak kodlanmışsa) bunu birden çok yoldan geçirebilirsiniz. İmzayı, zaman damgasını ve nonce'yi geçmeniz GEREKİR. Bu cevabın beni ne kadar sürdüğünü fark etmedim, bu yüzden bunu yarın kodunuzla yapmaya örnek olarak güncelleyeceğim.
API çağrılarının günlüğünü görüntüleyebilmeniz ve nelerin gönderildiğini, geri döndüğünü vb. Görebilmeniz için Rest API günlüğünü yüklemenizi şiddetle tavsiye ederim. Bu, hata ayıklamada çok yardımcı olacaktır.
https://github.com/petenelson/wp-rest-api-log