Ejemplo n.º 1
0
        /// <summary>
        /// Gets the login url.
        /// </summary>
        /// <param name="settings">The Facebook application settings.</param>
        /// <param name="httpContext">The http context.</param>
        /// <param name="parameters">The login parameters.</param>
        /// <returns>The login url.</returns>
        internal virtual protected Uri GetLoginUrl(IFacebookApplication settings, HttpContextBase httpContext, IDictionary <string, object> parameters)
        {
            if (settings == null)
            {
                throw new ArgumentNullException("settings");
            }
            if (httpContext == null)
            {
                throw new ArgumentNullException("httpContext");
            }

            var authorizer = new CanvasAuthorizer(settings, httpContext)
            {
                ReturnUrlPath    = this.ReturnUrlPath,
                CancelUrlPath    = this.CancelUrlPath,
                LoginDisplayMode = this.LoginDisplayMode
            };

            if (!String.IsNullOrEmpty(this.Permissions))
            {
                authorizer.Permissions = this.Permissions.Replace(" ", String.Empty).Split(',');
            }

            return(authorizer.GetLoginUrl(parameters));
        }
Ejemplo n.º 2
0
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            if (Session["FacebookUserId"] == null)
            {
                FacebookApp      facebookApp = new FacebookApp();
                CanvasAuthorizer authorizor  = new CanvasAuthorizer(facebookApp);
                authorizor.ReturnUrlPath = "default.aspx";
                authorizor.Perms         = "publish_stream"; //,offline_access
                authorizor.Authorize(Request, Response);
                IsLoggedIn = authorizor.IsAuthorized();

                if (IsLoggedIn)
                {
                    Session["FacebookUserId"] = facebookApp.UserId;
                }
                else
                {
                    Session["FacebookUserId"] = 0;
                }
            }

            FacebookUserId = (long)Session["FacebookUserId"];
            IsLoggedIn     = FacebookUserId > 0;
        }
Ejemplo n.º 3
0
        protected internal override Uri GetLoginUrl(IFacebookApplication settings, HttpContextBase httpContext, IDictionary <string, object> parameters)
        {
            var authorizer = new CanvasAuthorizer(settings, httpContext)
            {
                ReturnUrlPath    = ReturnUrlPath,
                CancelUrlPath    = CancelUrlPath,
                LoginDisplayMode = LoginDisplayMode
            };

            if (!String.IsNullOrEmpty(Permissions))
            {
                authorizer.Permissions = Permissions.Replace(" ", String.Empty).Split(',');
            }

            if (string.IsNullOrEmpty(CancelUrlPath))
            {
                // set it to this same url instead of going to facebook.com
                var canvasUrlBuilder    = new CanvasUrlBuilder(settings, httpContext.Request);
                var currentPathAndQuery = canvasUrlBuilder.CurrentCanvasPathAndQuery;

                if (currentPathAndQuery.Contains("?"))
                {
                    var parts = currentPathAndQuery.Split('?');
                    if (parts.Length == 2 && !string.IsNullOrEmpty(parts[1]))
                    {
                        var queryStrings = FacebookUtils.ParseUrlQueryString(parts[1]);

                        // remove oauth 2 error querystrings.
                        // error_reason=user_denied&error_denied=access_denied&error_description=The+user+denied+your+request.
                        if (queryStrings.ContainsKey("error_reason"))
                        {
                            queryStrings.Remove("error_reason");
                        }

                        if (queryStrings.ContainsKey("error_denied"))
                        {
                            queryStrings.Remove("error_denied");
                        }

                        if (queryStrings.ContainsKey("error_description"))
                        {
                            queryStrings.Remove("error_description");
                        }

                        currentPathAndQuery = parts[0] + "?" + FacebookUtils.ToJsonQueryString(queryStrings);
                    }
                }

                authorizer.CancelUrlPath = currentPathAndQuery;
            }

            return(authorizer.GetLoginUrl(null));
        }
Ejemplo n.º 4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            CheckIfFacebookAppIsSetupCorrectly();

            var auth = new CanvasAuthorizer {
                Permissions = new[] { "user_about_me" }
            };

            if (auth.Authorize())
            {
                ShowFacebookContent();
            }
        }
Ejemplo n.º 5
0
        protected void Page_Load(object sender, EventArgs e)
        {
            var auth = new CanvasAuthorizer {
                Perms = "publish_stream"
            };

            FacebookLayer fb = new FacebookLayer(auth);

            if (auth.Authorize())
            {
                if (Request.QueryString["action"] != null)
                {
                    LocationActions(Request.QueryString, fb);
                }
                ShowFacebookContent(fb);
            }
        }
Ejemplo n.º 6
0
        internal virtual protected Uri GetLoginUrl(IFacebookApplication settings, HttpContextBase httpContext, IDictionary <string, object> parameters)
        {
            Contract.Requires(settings != null);
            Contract.Requires(httpContext != null);

            this.ReturnUrlPath = FacebookConfigurationSection.Current.ReturnUrlPath;
            this.CancelUrlPath = FacebookConfigurationSection.Current.CancelUrlPath;

            var authorizer = new CanvasAuthorizer(settings, httpContext)
            {
                ReturnUrlPath    = this.ReturnUrlPath,
                CancelUrlPath    = this.CancelUrlPath,
                LoginDisplayMode = this.LoginDisplayMode
            };

            if (!String.IsNullOrEmpty(this.Permissions))
            {
                authorizer.Permissions = this.Permissions.Replace(" ", String.Empty).Split(',');
            }

            return(authorizer.GetLoginUrl(parameters));
        }
Ejemplo n.º 7
0
/*
 *      public FacebookLayer()
 *      {
 *          authorizer = new CanvasAuthorizer { Perms = "publish_stream" };
 *          if (authorizer.Authorize())
 *          {
 *              fbClient = new FacebookClient(CurrentSession.AccessToken);
 *              User = new FacebookUser();
 *              try
 *              {
 *                  var me = (IDictionary<string, object>) fbClient.Get("me");
 *
 *                  User.FacebookId = (string) me["id"];
 *                  User.FacebookName = (string) me["first_name"];
 *              }
 *              catch
 *              {
 *                  isAccessTokenValid = false;
 *                  return;
 *              }
 *              isAccessTokenValid = true;
 *              IDictionary<string, object> friendsData = (IDictionary<string, object>) fbClient.Get("me/friends");
 *              facebookData = new FacebookData(User, friendsData);
 *              SortedFriends = facebookData.SortedFriends;
 *          }
 *      }
 */

        public FacebookLayer(CanvasAuthorizer auth)
        {
            this.authorizer = auth;
            if (this.authorizer.Authorize())
            {
                fbClient = new FacebookClient(CurrentSession.AccessToken);
                User     = new FacebookUser();
                try
                {
                    var me = (IDictionary <string, object>)fbClient.Get("me");

                    User.FacebookId   = (string)me["id"];
                    User.FacebookName = (string)me["first_name"];
                }
                catch
                {
                    isAccessTokenValid = false;
                    return;
                }
                isAccessTokenValid = true;
                IDictionary <string, object> friendsData = (IDictionary <string, object>)fbClient.Get("me/friends");
                facebookData = new FacebookData(User, (IList <object>)friendsData["data"]);
            }
        }
Ejemplo n.º 8
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Page.IsPostBack)
            {
                CheckIfFacebookAppIsSetupCorrectly();

                var auth = new CanvasAuthorizer {
                    Permissions = new[] { "user_about_me" }
                };

                if (auth.Authorize())
                {
                    ShowFacebookContent();
                }
            }
            else
            {
                AmazonSimpleDB sdb = GetSDB();

                // Should I clean out the AWS domain state?
                if (Page.Request.Params["delaws"] == "1")
                {
                    //Deleting a domain
                    DeleteDomainRequest deleteDomainAction = new DeleteDomainRequest().WithDomainName("ZigMeRecos");
                    sdb.DeleteDomain(deleteDomainAction);
                }

                // Now read from the AWS domain and populate the dropdown list

                // First check to see if a domain contain service types exists. if not then create it and populate it
                // Listing domains

                /*ListDomainsResponse sdbListDomainsResponse = sdb.ListDomains(new ListDomainsRequest());
                 * if (sdbListDomainsResponse.IsSetListDomainsResult())
                 * {
                 *  ListDomainsResult listDomainsResult = sdbListDomainsResponse.ListDomainsResult;
                 *
                 *  if (!listDomainsResult.DomainName.Contains("ZigMeServiceTypes"))
                 *  {
                 *  }
                 *  else
                 *  {
                 *      String selectExpression = "Select * From ZigMeServiceTypes";
                 *      SelectRequest selectRequestAction = new SelectRequest().WithSelectExpression(selectExpression);
                 *      SelectResponse selectResponse = sdb.Select(selectRequestAction);
                 *      if (selectResponse.IsSetSelectResult())
                 *      {
                 *          SelectResult selectResult = selectResponse.SelectResult;
                 *          foreach (Item item in selectResult.Item)
                 *          {
                 *              foreach (Amazon.SimpleDB.Model.Attribute attribute in item.Attribute)
                 *              {
                 *                  if (attribute.IsSetName() && attribute.IsSetValue())
                 *                  {
                 *                  }
                 *              }
                 *          }
                 *      }
                 *  }
                 * }*/
            }
        }
 public FacebookLogin()
 {
     _facebookApp      = new FacebookApp();
     _authorizer       = new CanvasAuthorizer(_facebookApp);
     _authorizer.Perms = "publish_stream,offline_access";
 }