public void Page_Load(object sender, EventArgs e) { gridManage.OnGetDataSource += new EventHandler(gridManage_OnGetDataSource); if (!IsPostBack) { string openidmode = Request["openid.mode"]; if (!string.IsNullOrEmpty(openidmode)) { NameValueCollectionSerializer serializer = new NameValueCollectionSerializer(Request.Params); SessionManager.AccountService.CreateAccountOpenId( SessionManager.Ticket, SessionManager.OpenIdToken, serializer.Names, serializer.Values); Redirect(Request.Path); return; } gridManage_OnGetDataSource(sender, e); gridManage.DataBind(); SiteMapDataAttribute sitemapdata = new SiteMapDataAttribute(); sitemapdata.Add(new SiteMapDataAttributeNode("Me Me", Request, "AccountManage.aspx")); sitemapdata.Add(new SiteMapDataAttributeNode("Open-ID", Request.Url)); StackSiteMap(sitemapdata); } SetDefaultButton(manageAdd); }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { try { string openidmode = Request["openid.mode"]; string openidtoken = SessionManager.OpenIdToken; if (!string.IsNullOrEmpty(openidmode) && !string.IsNullOrEmpty(openidtoken)) { NameValueCollectionSerializer serializer = new NameValueCollectionSerializer(Request.Params); string ticket = SessionManager.AccountService.LoginOpenId(openidtoken, serializer.Names, serializer.Values); SessionManager.Login(ticket, SessionManager.RememberLogin); Redirect(ReturnUrl); return; } if (AuthenticatedPage) { ReportInfo("This is a members only page. You must first login. There're many perks of being a member " + "and it's free. Click <a href=\"AccountCreate.aspx\">here</a> to join!"); } } catch { SessionManager.Logout(); throw; } } }
public void Page_Load(object sender, EventArgs e) { SetDefaultButton(inputCreateOpenId); if (!IsPostBack) { if (!string.IsNullOrEmpty(Request["betapassword"])) inputBetaPassword.Attributes["value"] = Request["betapassword"]; if (!string.IsNullOrEmpty(Request["ConsumerUrl"])) { inputOpenId.Text = Request["ConsumerUrl"]; inputOpenId.Enabled = false; } panelBeta.Visible = SessionManager.AccountService.IsBetaPasswordSet(); linkAdministrator.OnClientClick = string.Format("location.href='mailto:{0}';", SessionManager.GetCachedConfiguration( "SnCore.Admin.EmailAddress", "*****@*****.**")); TrySetControlValueFromCookie("SnCore.AccountCreate.Name", inputName); TrySetControlValueFromCookie("SnCore.AccountCreate.BetaPassword", inputBetaPassword); TrySetControlValueFromCookie("SnCore.AccountCreate.Birthday", inputBirthday); TrySetControlValueFromCookie("SnCore.AccountCreate.Email", inputEmailAddress); string openidmode = Request["openid.mode"]; if (!string.IsNullOrEmpty(openidmode)) { NameValueCollectionSerializer serializer = new NameValueCollectionSerializer(Request.Params); TransitAccount ta = new TransitAccount(); ta.Name = inputName.Text; ta.Birthday = inputBirthday.SelectedDate; int id = SessionManager.AccountService.CreateAccountWithOpenId( inputBetaPassword.Text.Trim(), SessionManager.OpenIdToken, serializer.Names, serializer.Values, inputEmailAddress.Text.Trim(), ta); string ticket = ManagedAccount.GetTicketFromAccountId(id); SessionManager.Login(ticket, false); Redirect("AccountCreateWelcome.aspx"); } if (SessionManager.IsLoggedIn) { ReportInfo("You're already logged-in. Click <a href='AccountManage.aspx'>here</a> to continue."); panelCreateOpenId.Enabled = false; return; } } }
public Facebook.Schema.user GetUser(string[] cookieNames, string[] cookieValues) { using (SnCore.Data.Hibernate.Session.OpenConnection()) { ISession session = SnCore.Data.Hibernate.Session.Current; Facebook.Session.ConnectSession facebookSession = new Facebook.Session.ConnectSession( ManagedConfiguration.GetValue(session, "Facebook.APIKey", ""), ManagedConfiguration.GetValue(session, "Facebook.Secret", "")); TransitAccount ta = new TransitAccount(); NameValueCollectionSerializer facebookCookies = new NameValueCollectionSerializer(cookieNames, cookieValues); facebookSession.SessionKey = facebookCookies.Collection["session_key"]; facebookSession.UserId = long.Parse(facebookCookies.Collection["user"]); Facebook.Rest.Api facebookAPI = new Facebook.Rest.Api(facebookSession); return facebookAPI.Users.GetInfo(); } }
public void Page_Load(object sender, EventArgs e) { try { PageManager.SetDefaultButton(loginLogin, Controls); if (!IsPostBack) { linkAdministrator.OnClientClick = string.Format("location.href='mailto:{0}';", SessionManager.GetCachedConfiguration( "SnCore.Admin.EmailAddress", "*****@*****.**")); FacebookPageManager facebook = new FacebookPageManager(SessionManager); if (string.IsNullOrEmpty(facebook.FacebookAPIKey)) { panelFacebookLogin.Visible = false; facebookLoginDisabled.Visible = true; } string openidmode = Request["openid.mode"]; string openidtoken = SessionManager.OpenIdToken; if (!string.IsNullOrEmpty(openidmode) && !string.IsNullOrEmpty(openidtoken)) { NameValueCollectionSerializer serializer = new NameValueCollectionSerializer(Request.Params); TransitOpenIdLogin t_login = SessionManager.AccountService.TryLoginOpenId(openidtoken, serializer.Names, serializer.Values); if (!string.IsNullOrEmpty(t_login.Ticket)) { SessionManager.Login(t_login.Ticket, SessionManager.RememberLogin); Redirect(ReturnUrl); } else { Redirect(string.Format("AccountCreateOpenId.aspx?ReturnUrl={0}&ConsumerUrl={1}", Renderer.UrlEncode(ReturnUrl), Renderer.UrlEncode(t_login.ConsumerUrl))); } } string facebookConnect = Request["connect"]; if (!string.IsNullOrEmpty(facebookConnect)) { SortedList<string, string> facebookCookies = facebook.GetFacebookCookies(HttpContext.Current.Request.Cookies); List<String> keys = new List<String>(facebookCookies.Keys); List<String> values = new List<String>(facebookCookies.Values); TransitFacebookLogin t_login = SessionManager.AccountService.TryLoginFacebook( HttpContext.Current.Request.Cookies[facebook.FacebookAPIKey].Value, keys.ToArray(), values.ToArray()); if (string.IsNullOrEmpty(t_login.Ticket)) { Redirect("AccountCreateFacebook.aspx?connect=1"); return; } SessionManager.Login(t_login.Ticket, SessionManager.RememberLogin); Redirect(ReturnUrl); } if (SessionManager.IsLoggedIn) { ReportInfo("You're already logged-in. Click <a href='AccountManage.aspx'>here</a> to continue.", false); loginLogin.Enabled = false; } } } catch { SessionManager.Logout(); throw; } }
public int CreateAccountWithFacebook(string betapassword, string signature, string[] names, string[] values) { TransitFacebookLogin t_facebook = TryLoginFacebook(signature, names, values); using (SnCore.Data.Hibernate.Session.OpenConnection()) { ISession session = SnCore.Data.Hibernate.Session.Current; string s = ManagedConfiguration.GetValue(session, "SnCore.Beta.Password", string.Empty); if (s != betapassword) { throw new ManagedAccount.AccessDeniedException(); } ManagedAccount acct = new ManagedAccount(session); // fetch account information Facebook.Session.ConnectSession facebookSession = new Facebook.Session.ConnectSession( ManagedConfiguration.GetValue(session, "Facebook.APIKey", ""), ManagedConfiguration.GetValue(session, "Facebook.Secret", "")); TransitAccount ta = new TransitAccount(); NameValueCollectionSerializer facebookCookies = new NameValueCollectionSerializer(names, values); facebookSession.SessionKey = facebookCookies.Collection["session_key"]; facebookSession.UserId = t_facebook.FacebookAccountId; Facebook.Rest.Api facebookAPI = new Facebook.Rest.Api(facebookSession); Facebook.Schema.user user = facebookAPI.Users.GetInfo(); ta.Name = user.name; DateTime birthday = DateTime.Today; DateTime.TryParse(user.birthday_date, out birthday); ta.Birthday = birthday; acct.CreateWithFacebook(t_facebook.FacebookAccountId, user.proxied_email, ta, ManagedAccount.GetAdminSecurityContext(session)); if (user.current_location != null) { ta.City = user.current_location.city; int country_id; if (ManagedCountry.TryGetCountryId(session, user.current_location.country, out country_id)) ta.Country = user.current_location.country; int state_id; if (ManagedState.TryGetStateId(session, user.current_location.state, user.current_location.country, out state_id)) ta.State = user.current_location.state; } if (user.picture_big != null) { TransitAccountPicture t_picture = new TransitAccountPicture(); t_picture.AccountId = acct.Id; ThumbnailBitmap bitmap = new ThumbnailBitmap(new Bitmap(user.picture_big)); t_picture.Bitmap = bitmap.Bitmap; t_picture.Thumbnail = bitmap.Thumbnail; t_picture.Name = user.pic; ManagedAccountPicture m_picture = new ManagedAccountPicture(session); m_picture.CreateOrUpdate(t_picture, ManagedAccount.GetAdminSecurityContext(session)); } SnCore.Data.Hibernate.Session.Flush(); return acct.Id; } }