La mia domanda è molto simile this ma suppongo di dover fare un ulteriore passo avanti.Leggi OAuth2.0 Signed_Request Registrazione Facebook C# MVC
Facebook dice "I dati vengono passati all'applicazione come richiesta firmata. Il parametro signed_request è un modo semplice per assicurarsi che i dati che si stanno ricevendo siano i dati effettivi inviati da Facebook."
Dopo che un utente ha effettuato l'accesso al sito asp C# MVC e ha fatto clic su "Registra", l'URL di redirezione è http://site/account/register. A quel punto (il post per il controllo account/registro), vorrei raccogliere le informazioni dell'utente utilizzando la richiesta firmata in modo che io possa registrarle localmente con il mio sito. Non riesco a capire come accedere ai dati resi disponibili da Facebook.
$data = json_decode(base64_url_decode($payload), true);
Qual è l'equivalente in C#? Che tipo di variabile/dati sta passando Facebook nel post? E come accedo a "$ payload"?
[HttpPost]
public ActionResult RegisterFacebook(RegisterFacebookModel model)
{
Facebook.FacebookSignedRequest sr = Facebook.FacebookSignedRequest.Parse("secret", model.signed_request);
return View(model);
}
Grazie per la vostra risposta, Nathan. Sono stato a corto di tempo e non ho ancora avuto la possibilità di testare ancora, ma ciò che hai mostrato ha senso. Daremo un'occhiata anche all'SDK. – Josh
Suppongo che ancora non capisco come implementare usando questo (o l'SDK). La request_request è stata inviata come post al redirect-uri nel codice di registrazione fb:? Sto utilizzando l'SDK di js per l'accesso/registrazione, ma poi cerco di utilizzare FacebookAPI a cui hai fatto riferimento per un'integrazione più profonda una volta gestita la roba dei membri. Penso che se riuscirò a superare questo punto, sarei bravo ... Sono solo bloccato. Sto costruendo un progetto MVC e sto provando a puntare la callback della registrazione su un gestore di post HTTP, ma poi ho bisogno di decodificare l'oggetto json che dovrebbe essere inviato da fb. Ma non ho niente da ridire. – Josh
Nathan - posso chiedere un rapido follow-up ora che sto usando l'SDK - Vedo tutti i parametri della richiesta firmata tranne i parametri di "Registrazione". (es .: "registration": { "name": "Paul Tarjan" ... sto facendo qualcosa di sbagliato? Quando pubblico sulla pagina di test di Facebook li vedo, ma non sono disponibili dopo aver passato la decodifica dell'SDK . "e-mail": "[email protected]", "location": { "name": "San Francisco, California", "id": 114.952.118.516.947 }, – Josh