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); } } } }
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); } }
// // 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 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()); }