Facebook Connect és az ASP.NET

szavazat
45

Vagyok 8. lépésben a hitelesítés leírásához itt található: http://wiki.developers.facebook.com/index.php/How_Connect_Authentication_Works

Különösen a felhasználó belépett facebook via Facebook Connect és webes munkamenet jött létre. Hogyan használhatom a facebook fejlesztő eszközkészlet v2.0 (az egyértelműség) letölteni a felhasználó adatait. Például, azt szeretnénk, ha a felhasználó nevét és utónevét.

Példák a dokumentációban irányul facebook alkalmazások, amelyek nem ez.

frissítés

Facebook nemrég kiadta a Graph API-t. Hacsak nem tartásának használó alkalmazásból Facebook Connect, akkor nézd meg a legújabb API: http://developers.facebook.com/docs/

A kérdést 27/11/2008 06:44
a forrás felhasználó
Más nyelveken...                            


7 válasz

szavazat
13

Facebook Connect valójában nem túl bonyolult, de ez csak egy dokumentáció hiánya.

Tedd meg a szükséges javascript innen: http://tinyurl.com/5527og

Érvényesítse a sütik illeszkednek az aláírás által facebook megelőzésére hacker, lásd: http://tinyurl.com/57ry3s egy magyarázatot, hogyan kell elindulni

Hozzon létre egy api tárgy (Facebook.API.FacebookAPI) az API tárgy, meg az alkalmazás és a titkos kód Facebook előírja, hogy mikor az alkalmazás létrehozásakor. Állítsa api.SessionKeyés api.UserIda cookie-k az Ön számára létrehozott Facebook csatlakozni.

Miután ez megtörtént, meg is kezdheti a hívásokat facebook:

Facebook.Entity.User user = api.GetUserInfo();   //will get you started with the authenticated person
Válaszolt 02/12/2008 08:34
a forrás felhasználó

szavazat
23

Volt egy csomó bajt kitalálni, hogyan lehet szerver oldali kéri, ha a felhasználó bejelentkezett a Facebook Connect. A legfontosabb az, hogy a Facebook Connect javascript beállítja a cookie-kat a kliens egyszer van egy sikeres bejelentkezés. Ön a megadott értékek a cookie-kat, hogy végre API-hívásokat a szerveren.

A zavaros rész nézte a PHP minta kiadták. A szerver oldali API automatikusan gondoskodik olvasni ezeket a cookie-értékek és felállítása API objektum kész a kéréseket nevében a bejelentkezett felhasználó.

Íme egy példa a Facebook Toolkit a kiszolgálón, miután a felhasználó bejelentkezett a Facebook Connect.

Szerver kód:

API api = new API();
api.ApplicationKey = Utility.ApiKey();
api.SessionKey = Utility.SessionKey();
api.Secret = Utility.SecretKey();
api.uid = Utility.GetUserID();

facebook.Schema.user user = api.users.getInfo();
string fullName = user.first_name + " " + user.last_name;

foreach (facebook.Schema.user friend in api.friends.getUserObjects())
{
   // do something with the friend
}

Utility.cs

public static class Utility
{
    public static string ApiKey()
    {
        return ConfigurationManager.AppSettings["Facebook.API_Key"];
    }

    public static string SecretKey()
    {
        return ConfigurationManager.AppSettings["Facebook.Secret_Key"];
    }

    public static string SessionKey()
    {
        return GetFacebookCookie("session_key");
    }

    public static int GetUserID()
    {
        return int.Parse(GetFacebookCookie("user"));
    }

    private static string GetFacebookCookie(string name)
    {
        if (HttpContext.Current == null)
            throw new ApplicationException("HttpContext cannot be null.");

        string fullName = ApiKey() + "_" + name;
        if (HttpContext.Current.Request.Cookies[fullName] == null)
            throw new ApplicationException("Could not find facebook cookie named " + fullName);
        return HttpContext.Current.Request.Cookies[fullName].Value;
    }
}
Válaszolt 15/12/2008 22:02
a forrás felhasználó

szavazat
15

Követtem fel ezt a koncepciót, és írt egy teljes értékű cikket, hogy megoldja ezt a problémát az ASP.NET. Kérjük, olvassa el az alábbiakat.

Hogyan lekérése a Felhasználói adatok Facebook Connect az ASP.NET - Devtacular

Hála Calebt számára jól indult, hogy a segítő osztály.

Élvez.

Válaszolt 01/03/2009 07:43
a forrás felhasználó

szavazat
8

Ez hiányzik a választ eddig felsorolt:

Miután a bejelentkezés sikeres, Facebook ajánlja, hogy ellenőrizze a cookie-k valójában legális és elhelyezni a kliens gépen őket.

Itt van két módszer, hogy lehet használni együtt megoldani ezt. Lehet, hogy szeretné felvenni a IsValidFacebookSignature módszert calebt közüzemi osztályban. Figyeljük meg azt is megváltoztatta a GetFacebookCookie módszer kissé is.

private bool IsValidFacebookSignature()
{
        //keys must remain in alphabetical order
        string[] keyArray = { "expires", "session_key", "ss", "user" };
        string signature = "";

        foreach (string key in keyArray)
            signature += string.Format("{0}={1}", key, GetFacebookCookie(key));

        signature += SecretKey; //your secret key issued by FB

        MD5 md5 = MD5.Create();
        byte[] hash = md5.ComputeHash(Encoding.UTF8.GetBytes(signature.Trim()));

        StringBuilder sb = new StringBuilder();
        foreach (byte hashByte in hash)
            sb.Append(hashByte.ToString("x2", CultureInfo.InvariantCulture));

        return (GetFacebookCookie("") == sb.ToString());
    }

    private string GetFacebookCookie(string cookieName)
    {
        //APIKey issued by FB
        string fullCookie = string.IsNullOrEmpty(cookieName) ? ApiKey : ApiKey + "_" + cookieName;

        return Request.Cookies[fullCookie].Value;
    }

A titkos kulcsát és ApiKey olyan értékek által biztosított Facebookon. Ebben az esetben ezeket az értékeket kell beállítani, lehetőleg érkező .config fájlt.

Válaszolt 03/06/2009 03:34
a forrás felhasználó

szavazat
6

Követtem fel Bill nagyszerű cikket, és tette ezt a kis alkatrész. Ez gondoskodik felkutatására és validálására, hogy a felhasználó a Facebook Connect cookie-kat.

Facebook Connect hitelesítés ASP.NET

Remélem, hogy segít valaki!

Egészségére,

Ádám

Válaszolt 30/06/2009 21:09
a forrás felhasználó

szavazat
1

A két cent: egy nagyon egyszerű projekt kihasználva a „login Facebook” funkció - facebooklogin.codeplex.com

Nem a könyvtár, de azt mutatja, hogyan működik mindez.

Válaszolt 11/04/2011 21:23
a forrás felhasználó

szavazat
3

Ön is használja SocialAuth.NET

Ez biztosítja a hitelesítés, profilok és kapcsolatok Facebook, Google, MSN és a Yahoo kevés fejlesztési erőfeszítések.

Válaszolt 30/05/2011 13:33
a forrás felhasználó

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more