public FacebookContextSettings() { FacebookWebContext facebookContext = FacebookWebContext.Current; IFacebookApplication settings; FacebookSignedRequest signedRequest; if (facebookContext.SignedRequest == null) { // ajax requests won't have a signed request, so we need to build it from the current http request // see http://facebooksdk.codeplex.com/discussions/251878 settings = FacebookApplication.Current; signedRequest = FacebookSignedRequest.Parse(settings, SignedRequest); } else { settings = facebookContext.Settings; signedRequest = facebookContext.SignedRequest; } CanvasPage = settings.CanvasPage; AccessToken = signedRequest.AccessToken; AppId = settings.AppId; UserId = signedRequest.UserId; }
public override void OnAuthorization(AuthorizationContext filterContext, IFacebookApplication settings) { var authorizer = new FacebookWebContext(settings, filterContext.HttpContext); if (!string.IsNullOrEmpty(Permissions) && Permissions.IndexOf(" ") != -1) { throw new ArgumentException("Permissions cannot contain whitespace."); } long?userId = (null != FacebookWebContext.Current.Session) ? (long?)FacebookWebContext.Current.Session.UserId : null; if (null == userId || !AuthorizedUsers.Contains(userId.Value)) { if (!authorizer.IsAuthorized(ToArrayString(Permissions))) { this.HandleUnauthorizedRequest(filterContext, FacebookApplication.Current); } else { if (!AuthorizedUsers.Contains(FacebookWebContext.Current.Session.UserId)) { AuthorizedUsers.Add(FacebookWebContext.Current.Session.UserId); } } } }
/// <summary> /// Initializes a new instance of the <see cref="FacebookApp"/> class. /// </summary> /// <param name="request"> /// The request. /// </param> /// <param name="accessToken"> /// The access token. /// </param> public FacebookApp(FacebookWebContext request, string accessToken) : this(request) { Contract.Requires(!string.IsNullOrEmpty(accessToken)); AccessToken = accessToken; }
public FacebookContextSettings() { FacebookWebContext context = FacebookWebContext.Current; AppId = context.Settings.AppId; UserId = context.UserId; }
public override void OnAuthorization(AuthorizationContext filterContext, IFacebookApplication facebookApplication) { var authorizer = new FacebookWebContext(facebookApplication, filterContext.HttpContext); if (!authorizer.IsAuthorized(string.IsNullOrEmpty(Permissions) ? null : Permissions.Split(','))) { throw new UnauthorizedAccessException(); } }
public override void OnAuthorization(AuthorizationContext filterContext, IFacebookApplication facebookApplication) { var authorizer = new FacebookWebContext(facebookApplication, filterContext.HttpContext); if (!string.IsNullOrEmpty(Permissions) && Permissions.IndexOf(" ") != -1) { throw new ArgumentException("Permissions cannot contain whitespace."); } if (!authorizer.IsAuthorized(ToArrayString(Permissions))) { filterContext.Result = new RedirectResult(this.LoginUrl ?? "/"); } }
/// <summary> /// Authorization. /// </summary> /// <param name="filterContext">The filter context.</param> /// <param name="facebookApplication">The Facebook applicatio settings.</param> public override void OnAuthorization(AuthorizationContext filterContext, IFacebookApplication facebookApplication) { var authorizer = new FacebookWebContext(facebookApplication, filterContext.HttpContext); if (!string.IsNullOrEmpty(Permissions) && Permissions.IndexOf(" ") != -1) { throw new ArgumentException("Permissions cannot contain whitespace."); } if (!authorizer.IsAuthorized(ToArrayString(Permissions))) { filterContext.Result = new RedirectResult(LoginUrl ?? "/"); } }
/// <summary> /// Authorization. /// </summary> /// <param name="filterContext">The filter context.</param> /// <param name="settings">The Facebook application settings.</param> /// <exception cref="ArgumentException">Throws if Permissions contains space.</exception> public override void OnAuthorization(AuthorizationContext filterContext, IFacebookApplication settings) { var authorizer = new FacebookWebContext(settings, filterContext.HttpContext); if (!string.IsNullOrEmpty(Permissions) && Permissions.IndexOf(" ") != -1) { throw new ArgumentException("Permissions cannot contain whitespace."); } if (!authorizer.IsAuthorized(ToArrayString(Permissions))) { this.HandleUnauthorizedRequest(filterContext, FacebookApplication.Current); } }
/// <summary> /// Initializes a new instance of the <see cref="FacebookApp"/> class. /// </summary> /// <param name="request"> /// The request. /// </param> public FacebookApp(FacebookWebContext request) { _request = request; AccessToken = request.AccessToken; _isSecureConnection = request.IsSecureConnection; UseFacebookBeta = _request.Settings.UseFacebookBeta; if (request.HttpContext.Request.UrlReferrer != null && _request.HttpContext.Request.UrlReferrer.Host == "apps.beta.facebook.com") { UseFacebookBeta = true; } // set app id and app secret for compatibility from v4. AppSecret = FacebookApplication.Current.AppSecret; AppId = FacebookApplication.Current.AppId; }
// // GET: /Facebook/LogOn public ActionResult LogOn(string returnUrl) { var fbWebContext = new FacebookWebContext(FacebookApplication.Current, ControllerContext.HttpContext); // or FacebookWebContext.Current; if (fbWebContext.IsAuthorized()) { if (!string.IsNullOrWhiteSpace(returnUrl)) { if (Url.IsLocalUrl(returnUrl)) { return(new RedirectResult(returnUrl)); } } return(RedirectToAction("Index", "Home")); } return(View()); }
public FacebookContextSettings() { FacebookWebContext facebookContext = FacebookWebContext.Current; IFacebookApplication settings; FacebookSignedRequest signedRequest; if (facebookContext.SignedRequest == null) { // ajax requests won't have a signed request, so we need to build it from the current http request // see http://facebooksdk.codeplex.com/discussions/251878 settings = FacebookApplication.Current; try { signedRequest = FacebookSignedRequest.Parse(settings, SignedRequest); } catch (Exception exception) { // Facebook posts to the iframe, but only IE supports this so the first request will always fail for non IE browsers if (HttpContext.Current.Request.Browser.Browser.Contains("IE")) { throw; } // it doesn't break anything so we'll throw a custom exception so that we can filter it out later InvalidSignedRequestException signedRequestException = new InvalidSignedRequestException("Invalid SignedRequest - Non - IE (" + SignedRequest + ")", exception); throw signedRequestException; } } else { settings = facebookContext.Settings; signedRequest = facebookContext.SignedRequest; } CanvasPage = settings.CanvasPage; AccessToken = signedRequest.AccessToken; AppId = settings.AppId; UserId = signedRequest.UserId; }
public ActionResult LogOn(string returnUrl) { var fbWebContext = new FacebookWebContext(FacebookApplication.Current, ControllerContext.HttpContext); if (fbWebContext.IsAuthorized(ExtendedPermissions.Split(','))) { if (!string.IsNullOrWhiteSpace(returnUrl)) { if (Url.IsLocalUrl(returnUrl)) { return(new RedirectResult(returnUrl)); } } return(RedirectToAction("Index", "Home")); } ViewBag.ExtendedPermissions = ExtendedPermissions; return(View()); }
public FacebookContextSettings() { IFacebookApplication settings = FacebookApplication.Current; if (settings != null) { CanvasPage = settings.CanvasPage; AppId = settings.AppId; } FacebookWebContext facebookContext = FacebookWebContext.Current; FacebookSignedRequest signedRequest = facebookContext.SignedRequest; if (settings != null && signedRequest == null) { signedRequest = ParseSignedRequest(settings); } if (signedRequest != null) { AccessToken = signedRequest.AccessToken; UserId = signedRequest.UserId; } }