7

Oauth 2.0'a geçiş yapıyorum. Şu anki sitemde JS SDK kullanılıyor, bir fb-login butonu var, o zaman kullanıcı detaylarını almak için Graph'a erişiyorum.Oauth 2.0, signed_request 'code' değerinden bir erişim belirteci alamıyor

Bu verileri Graph'tan almak için bir erişim belirteci alıyorum sorunları yaşıyorum.

JS SDK iletişim kuralının URL'ye yönlendirmediği bir sorun da olabilir; yani, bir kod belirtmek için kullanabileceğim bir? Code = XXXXXXX olması gerekir.

Bu yüzden nasıl olduğunu görmek için php SDK'sine (ASP kullanıyorum) baktım. Çerezde imzalanmış istek değerini ayrıştırdım, kodun URL'sine eklemek için 'kod' parametresindeki değeri aldım ancak erişim belirteci alamıyorum.

Çözümlü signed_request verileri: Bunlar kullanıyorum değerlerdir

{"algorithm":"HMAC-SHA256","code":"2.AQCovUOFCduELbna.3600.1323900000.1-773555243|Y_cW4riF4K7el_9a4oVNjL0qvZc","issued_at":1323895617,"user_id":"XXXXXXXXXX"} 

Token URL: https://graph.facebook.com/oauth/access_token? 
      client_id=XXXXXXXX& 
      redirect_uri=XXXXXXXX& 
      client_secret=XXXXXX& 
      code=2.AQCovUOFCduELbna.3600.1323900000.1-773555243|Y_cW4riF4K7el_9a4oVNjL0qvZc 

Bu yanıttır:

{"error":{"message":"Error validating verification code.","type":"OAuthException"}} 

kod değeri doğru biçimde olmasını görünüyor mu? Neyin yanlış olduğu hakkında bir fikrin var mı?

+0

'&' client_secret = XXXXXX 'sonrası' unuzu unutmuyor musunuz? – dmirkitanov

+0

Üzgünüz, bu bir biçimlendirme sorunu var. Kodumda ve işareti var. Bunu değiştireceğim. – DAC84

cevap

10

burada tam aynı sorun ...

çözümü: https://graph.facebook.com/oauth/access_token?client_id=XXXXXXXX&redirect_uri=&client_secret=XXXXXX&code=2.AQCovUOFCduELbna.3600.1323900000.1-773555243|Y_cW4riF4K7el_9a4oVNjL0qvZc

benim için çalıştı: kodu çerez yük çıkarılan edilirse,

Jetonu URL

deneyin boş parametre redirect_uri bırakın!

+0

Ah işe yaradı! Facebook docs dahil etmek için utanç utanç. Çok teşekkürler. – DAC84

+2

facebook (non) dokümantasyon benim ölümüm olacak –

+4

Haha, bu sırrı silinmiş bir web sayfasının Google alıntılarından buldum. Okuyucular için fazladan açık olmak gerekirse, "redirect_uri" mevcut olmalı, ancak boş olarak belirtilmelidir. – Potatoswatter