Пример #1
0
        private void ProcessSuccesfulFacebookCallback(IDictionary <string, object> result)
        {
            string accessToken = (string)result["access_token"];

            // incase the expires on is not present, it means we have offline_access permission
            DateTime expiresOn = result.ContainsKey("expires") ? DateTime.UtcNow.AddSeconds(Convert.ToDouble(result["expires"])) : DateTime.MaxValue;

            var     fb   = new FacebookClient(accessToken);
            dynamic me   = fb.Get("me?fields=id,name");
            string  id   = me.id;
            string  name = me.name;

            // do your custom logic to store the user here
            InMemoryUserStore.AddOrUpdate(new FacebookUser {
                AccessToken = accessToken, FacebookId = id, Name = name
            });

            // set the forms auth cookie
            FormsAuthentication.SetAuthCookie(id, false);
        }