2014-11-13 23 views
9

Web sitemde oauth sağladığım için django projemde django-oauth-toolkit 0.7 kullanıyorum, here adımlarını uyguladım ve token erişimini başarıyla tamamladım.Ama access token (erişim belirtecinin süresi dolduysa) yenileme belirteci ile alamıyorum . Erişim belirtecini consumer client ile alabiliyorum. Ancak bunu web sitemdeki URL'imle nasıl alabilirim? Çünkü, yenileme belirteci ile yeni erişim belirteci almaya çalışırken siteme hangi parametrelerin geçtiğini göremiyorum. Herhangi bir yardım, önceden belirlenmiş olabilir Teşekkür peşin!Yeni erişim belirteci (django-oauth-toolkit) almak için yenileme belirteci nasıl kullanılır?

Benim accesstoken ve yenileme belirteçleri bu şekildedir:

{ 
    "access_token":"1/fFAGRNJru1FTz70BzhT3Zg", 
    "expires_in":3920, 
    "token_type":"Bearer", 
    "refresh_token":"1/xEoDL4iW3cxlI7yDbSRFYNG01kVKM2C-259HOF2aQbI" 
} 

Ve localhost:8000

cevap

18

sitemi çalıştırıyorum POST isteği göndermek için gereken senin refresh_token mevcut kullanarak, yeni bir access_token almak için Aynı URL'ye, ilk olarak belirteci (varsayılan URL'yi kabul ederek) (/o/token/) almak için kullanılır. grant_type şimdi refresh_token olur ve siz de bazılarını verdiğiniz için müşteri kimlik bilgilerinizle kimlik doğrulaması yapmanız gerekir.

Özetlemek gerekirse: Daha fazla bilgi istiyorsanız curl -X POST -d "grant_type=refresh_token&client_id=<your_client_id>&client_secret=<your_client_secret>&refresh_token=<your_refresh_token>" http://localhost:8000/o/token/

, sen standardın ilgili bölümü görmek için bu link ödeme yapabilirsiniz.

+0

İstemci tarafı veya mobil uygulaması varsa, oauth uygulamasının istemci gizliliğini nasıl güvenceye alıyorsunuz? –

+1

@AshishGupta İsteği kendi sunucunuz üzerinden tünel edebilirsiniz. Örn: bir PHP betiği oluşturun ve yenileme belirtecini ona iletin. Sunucu sırrı bilir ve bunu Reddit API'sine gönderir ve sonucu müşteriye geri gönderir, böylece müşterinin asla sırrını bilmesi gerekmez. – BnMcG

İlgili konular