2011-10-13 7 views
5

Ben signed_request I deşifre sonra auth.login olayı abone olarak ve facebook login buttonFacebook signed_request belgelerinde belirtilmeyen ekstra verileri içeren deşifre

kullanarak kullanıcı oturum açtıktan sonra alınan bir Facebook signed_request var

{'issued_at': 1318492701, 
'code': 'AQCXI5aiyYtYLFNtkYhtKwDhO02lP[truncated]', 
'user_id': '100000xxxxxxxxx', 
'algorithm': 'HMAC-SHA256'} 

ben signed_request documentation bulamadığımız: içinde aşağıdaki bilgileri. Bu code nedir ve kullanımı nedir?

this thread'da belirtildiği gibi bir yetkilendirme kodu almak için kullanılabileceğini ancak signed_request ile birlikte giriş etkinliğinden gelen yanıtta kullanıcı için bir erişim belirteci aldığını düşündüm.

+2

Bu, JavaScript SDK'sından signed_request'tir, değil mi? Kod SDK tarafından kullanılıyor, ancak Sunucu Tarafı Kimlik Doğrulaması için değil. Kimlik Doğrulama için kullanışlı olmadığından belgelenmez. – Alexcode

+1

Gerçekten de, diğerlerinin yanı sıra kullanıcı giriş durumunu aldığımda alacağım authResponse imzalı isteğinden kodu alıyorum. – yoshi

+0

@yoshi Sorgumu kontrol etmek istiyorum. Teşekkürler –

cevap

1

deşifre sonra olsun kodu için onun aşağıdaki metni okumak zorunda? Kod SDK tarafından kullanılıyor, ancak Sunucu Tarafı Kimlik Doğrulaması için değil. Aslında, belgeyi sign_re_request davranışlarını yansıtacak şekilde güncelleyeceğiz.

1

bu kod kontrol eğer o zaman ben,


sıra numune kod verebilir için

ama yine bilgilere ihtiyaç vardır ki söyle senin uygulaması yüklü kullanıcılar hakkında bilgi almak için yararlıdır senin yayınlanan kod tekrar size kullanıcı kimliği böylece temel bilgileri & başka bilgi almak veyayazabilmek için zaten bu

için erişim belirteci kullanabilirsiniz ancak gerekmez var bakın ikinci doğrudan do (gerek sdk, ama zor):

ilk:iki yolu vardır silme sunucu tarafı programlama dili olup olmadığını sdk & kullanmak için sdk (Kolay) aracılığıyla i tavsiye PHP indirme php sdk indirmek için temel bilgileri

<?php 
    include_once ('src/facebook.php');/// include sdk 
    ////// config The sdk 
     @ $facebook = new Facebook(array(
     'appId' => '*************', 
     'secret' => '*****************', 
     )); 
$user=$facebook->api('me','GET'); 
echo '<pre>'; 
print_r($user); 
echo '</pre>'; 
?> 

almak için bunu yapabilirsiniz

https://developers.facebook.com/docs/reference/php/

+1

Uygulamayı hangi kullanıcıların kurduğunu öğrenmek için nasıl kullanıyorsunuz? Bu konuda hiçbir şey görmedim. – yoshi

+0

my post updated –

+1

Python kullanıyorum, bu gerçekten yararlı değil. Kullanıcı bilgisini nasıl alacağımı biliyorum, sadece INSIDE'dan imzalanmış isteğin ne olduğunu öğrenmek istiyorum. – yoshi

2

İmzalı istekler için belge sayfasındaki kodun kullanımından neden bahsetmediklerini bilmiyorum. Bu kod, daha sonra gelen herhangi bir Facebook API isteğini gerçekleştirmenin anahtarı olan bir erişim belirteci için değiştirilebilir.

İlgili dokümanları buradadır: elinde bu kod ile https://developers.facebook.com/docs/authentication/

, size API çağrıları yapmak için gereken belirteç erişmek için, bir sonraki adıma, Uygulamanın kimlik doğrulama için ilerleyebilir.

Uygulamanızın kimliğini doğrulamak için, yetki kodunu ve uygulamanızın sırrını, yukarıda kullanılan tam olarak aynı redirect_uri ile birlikte - Grafik API belirteci bitiş noktasına iletmelisiniz - https://graph.facebook.com/oauth/access_token. Uygulama sırrı, Geliştirici Uygulaması'ndan edinilebilir ve dağıtacağınız herhangi bir kodla herhangi bir şekilde paylaşılmamalı veya gömülmemelidir (bu senaryolar için istemci tarafı akışını kullanmalısınız).

+1

İlk başta böyle düşündüm ama bu kodu bir erişim belirteci almak için kullanmaya çalışırsam, kodun doğrulanamayacağını söyleyen bir OAuth istisnası alırım. Ve kodun formatı da farklıdır, iki ya da üç periyodu vardır, çünkü sign_re_request içinde olmayan kodlar periyotlara sahip değildir ve biraz daha uzundur. – yoshi

+0

@yoshi güzel yanıt tekrar ve tekrar;) –

+0

@Danish Iqbal: zaten gördüm, aradığım bilgiler belgelerin kapsamında olmadığı için benim soru ile ilgili yeni bir bilgi yok. Üzerinde birkaç kez geçti ve auth.login yanıtından alınan signedRequest içinde belirtilen herhangi bir "kod" parametresi görmedim. – yoshi

0

Bu facebook offical doc ziyaret edin ve "signed_request Parametre" ve Bu hak, JavaScript SDK signed_request olan signed_request

+0

lütfen yukarıdaki cevabımdaki fb resmi dokümanı bağlantısına bakın :) –

İlgili konular