private void DoFacebookLogin(HttpContext context, string returnUrl) { var client = new FacebookClient { ClientIdentifier = ConfigurationManager.AppSettings["facebookAppID"], ClientSecret = ConfigurationManager.AppSettings["facebookAppSecret"], }; IAuthorizationState authorization = client.ProcessUserAuthorization(null); if (authorization == null) { // Kick off authorization request var scope = new List <string>() { "email,user_about_me", }; client.RequestUserAuthorization(scope, null, null); } else { var request = WebRequest.Create("https://graph.facebook.com/me?access_token=" + Uri.EscapeDataString(authorization.AccessToken)); using (var response = request.GetResponse()) { if (response != null) { using (var responseStream = response.GetResponseStream()) { var graph = FacebookGraph.Deserialize(responseStream); var profile = UniversalProfile.ProfileFromFacebook(graph); RedirectToReturnUrl(context, returnUrl, profile); } } } } }
protected void Page_Load(object sender, EventArgs e) { this.RegisterAsyncTask( new PageAsyncTask( async ct => { IAuthorizationState authorization = await client.ProcessUserAuthorizationAsync(new HttpRequestWrapper(Request), ct); if (authorization == null) { // Kick off authorization request var request = await client.PrepareRequestUserAuthorizationAsync(cancellationToken: ct); await request.SendAsync(new HttpContextWrapper(Context), ct); this.Context.Response.End(); } else { var request = WebRequest.Create( "https://graph.facebook.com/me?access_token=" + Uri.EscapeDataString(authorization.AccessToken)); using (var response = request.GetResponse()) { using (var responseStream = response.GetResponseStream()) { var graph = FacebookGraph.Deserialize(responseStream); this.nameLabel.Text = HttpUtility.HtmlEncode(graph.Name); } } } })); }
public bool FacebookAuthorization(out FacebookGraph fbUser) { IAuthorizationState authorization = client.ProcessUserAuthorization(); if (authorization == null) { client.RequestUserAuthorization(); } else { try { var request = WebRequest.Create("https://graph.facebook.com/me?access_token=" + Uri.EscapeDataString(authorization.AccessToken)); using (var response = request.GetResponse()) { using (var responseStream = response.GetResponseStream()) { fbUser = FacebookGraph.Deserialize(responseStream); return(true); } } } catch (Exception ex) { fbUser = null; return(false); } } fbUser = null; return(false); }
public ActionResult Login() { // COMMENT THESE TWO LINES AND MODIFY CConstants // with your Facebook AppId and AppSecret Keys Session[CConstants.SESSION_ADMNLOGGED] = true; return(RedirectToAction("Index", "Home", new { Area = "Admn" })); IAuthorizationState authorization = client.ProcessUserAuthorization(); if (authorization == null) { // start authorization request // request goes to facebook to request accesstoken client.RequestUserAuthorization(new String[] { "email" }); } else { if (null != authorization.AccessToken) { // use that accesstoken to request information // from the user's profile var request = WebRequest.Create( String.Format( "https://graph.facebook.com/me?access_token={0}", Uri.EscapeDataString(authorization.AccessToken)) ); using (var response = request.GetResponse()) { using (var responseStream = response.GetResponseStream()) { var graph = FacebookGraph.Deserialize(responseStream); string myUserName = graph.Name; string myEmail = graph.Email; // use the data in the graph object to authorise the user if ( !String.IsNullOrEmpty(myEmail) && myEmail.Equals( CConstants.ADMINISTRATOR, StringComparison.OrdinalIgnoreCase)) { Session[CConstants.SESSION_ADMNLOGGED] = true; return(RedirectToAction("Index", "Home", new { Area = "Admn" })); } } } } } return(Content("Authorization Failed")); }
public LoginProfile ProcessAuthoriztion(HttpContext context, IDictionary <string, string> @params) { var builder = new UriBuilder(context.Request.GetUrlRewriter()) { Query = "p=" + context.Request["p"] }; var oauth = new FacebookOAuthClient { AppId = KeyStorage.Get("facebookAppID"), AppSecret = KeyStorage.Get("facebookAppSecret"), RedirectUri = builder.Uri }; FacebookOAuthResult result; if (FacebookOAuthResult.TryParse(context.Request.GetUrlRewriter(), out result)) { if (result.IsSuccess) { var accessToken = (Facebook.JsonObject)oauth.ExchangeCodeForAccessToken(result.Code); var request = WebRequest.Create("https://graph.facebook.com/me?access_token=" + Uri.EscapeDataString((string)accessToken["access_token"])); using (var response = request.GetResponse()) { using (var responseStream = response.GetResponseStream()) { var graph = FacebookGraph.Deserialize(responseStream); var profile = ProfileFromFacebook(graph); return(profile); } } } return(LoginProfile.FromError(new Exception(result.ErrorReason))); } //Maybe we didn't query var extendedPermissions = new[] { "email", "user_about_me" }; var parameters = new Dictionary <string, object> { { "display", "popup" } }; if (extendedPermissions.Length > 0) { var scope = new StringBuilder(); scope.Append(string.Join(",", extendedPermissions)); parameters["scope"] = scope.ToString(); } var loginUrl = oauth.GetLoginUrl(parameters); context.Response.Redirect(loginUrl.ToString()); return(LoginProfile.FromError(new Exception("Failed to login with facebook"))); }
private void HandleFacebookResponse() { IAuthorizationState authorization = FbClient.ProcessUserAuthorization(); if (authorization != null) { var request = WebRequest.Create("https://graph.facebook.com/me?access_token=" + Uri.EscapeDataString(authorization.AccessToken)); using (var response = request.GetResponse()) { using (var responseStream = response.GetResponseStream()) { var graph = FacebookGraph.Deserialize(responseStream); AuthenticatedUser(graph.FirstName, graph.LastName, "", graph.Id.ToString(CultureInfo.CurrentCulture), "Facebook"); } } } }
protected void Page_Load(object sender, EventArgs e) { IAuthorizationState authorization = client.ProcessUserAuthorization(); if (authorization == null) { // Kick off authorization request client.RequestUserAuthorization(); } else { var request = WebRequest.Create("https://graph.facebook.com/me?access_token=" + Uri.EscapeDataString(authorization.AccessToken)); using (var response = request.GetResponse()) { using (var responseStream = response.GetResponseStream()) { var graph = FacebookGraph.Deserialize(responseStream); this.nameLabel.Text = HttpUtility.HtmlEncode(graph.Name); } } } }
protected void Page_Load(object sender, EventArgs e) { IAuthorizationState authorization = client.ProcessUserAuthorization(); if (authorization == null) { // Kick off authorization request client.RequestUserAuthorization(); } else { var request = WebRequest.Create("https://graph.facebook.com/me?access_token=" + Uri.EscapeDataString(authorization.AccessToken)); using (var response = request.GetResponse()) { using (var responseStream = response.GetResponseStream()) { var graph = FacebookGraph.Deserialize(responseStream); Response.RedirectWithQueryString(PageFlowExtensions.GetDefaultPageUrl().AbsoluteUri); } } } }
public LoginProfile ProcessAuthoriztion(HttpContext context, IDictionary<string, string> @params) { var builder = new UriBuilder(context.Request.GetUrlRewriter()) {Query = "p=" + context.Request["p"]}; var oauth = new FacebookOAuthClient { AppId = KeyStorage.Get("facebookAppID"), AppSecret = KeyStorage.Get("facebookAppSecret"), RedirectUri = builder.Uri }; FacebookOAuthResult result; if (FacebookOAuthResult.TryParse(context.Request.GetUrlRewriter(), out result)) { if (result.IsSuccess) { var accessToken = (Facebook.JsonObject)oauth.ExchangeCodeForAccessToken(result.Code); var request = WebRequest.Create("https://graph.facebook.com/me?access_token=" + Uri.EscapeDataString((string)accessToken["access_token"])); using (var response = request.GetResponse()) { using (var responseStream = response.GetResponseStream()) { var graph = FacebookGraph.Deserialize(responseStream); var profile = ProfileFromFacebook(graph); return profile; } } } return LoginProfile.FromError(new Exception(result.ErrorReason)); } //Maybe we didn't query var extendedPermissions = new[] { "email", "user_about_me" }; var parameters = new Dictionary<string, object> { { "display", "popup" } }; if (extendedPermissions.Length > 0) { var scope = new StringBuilder(); scope.Append(string.Join(",", extendedPermissions)); parameters["scope"] = scope.ToString(); } var loginUrl = oauth.GetLoginUrl(parameters); context.Response.Redirect(loginUrl.ToString()); return LoginProfile.FromError(new Exception("Failed to login with facebook")); //var client = new FacebookClient // { // ClientIdentifier = KeyStorage.Get("facebookAppID"), // ClientSecret = KeyStorage.Get("facebookAppSecret"), // }; //try //{ // IAuthorizationState authorization = client.ProcessUserAuthorization(new HttpRequestInfo(context.Request)); // if (authorization == null) // { // // Kick off authorization request // var scope = new List<string>() // { // "email,user_about_me", // }; // client.RequestUserAuthorization(scope, null, null); // } // else // { // var request = WebRequest.Create("https://graph.facebook.com/me?access_token=" + Uri.EscapeDataString(authorization.AccessToken)); // using (var response = request.GetResponse()) // { // if (response != null) // using (var responseStream = response.GetResponseStream()) // { // var graph = FacebookGraph.Deserialize(responseStream); // var profile = ProfileFromFacebook(graph); // return profile; // } // } // } //} //catch (ProtocolException e) //{ // if (e.InnerException is WebException) // { // //Read stream // var responce = // new StreamReader((e.InnerException as WebException).Response.GetResponseStream()).ReadToEnd(); // } // throw; //} }