protected void Page_Load(object sender, EventArgs e) { if (!Utilities.CheckForValidSteamSession(Request.Cookies["AccessToken"])) { var openid = new OpenIdRelyingParty(); var response = openid.GetResponse(); if (response != null) { switch (response.Status) { case AuthenticationStatus.Authenticated: string responseURI = response.ClaimedIdentifier.ToString(); CreateOrRefreshSession CreateSession = new CreateOrRefreshSession(); CreateSession.SteamId = responseURI.Substring(responseURI.LastIndexOf("/") + 1); CreateSession.ServerPassword = Utilities.ServerPassword; string TokenWrapper = Utilities.MakePOSTRequest(Utilities.ServerDNS + "/CreateSession", CreateSession); JObject JObject = JObject.Parse(TokenWrapper); string Token = JObject["CreateSessionResult"].ToString(); HttpCookie myCookie = new HttpCookie("AccessToken"); myCookie.Values.Add("AccessToken", Token); myCookie.Expires = DateTime.Now.AddHours(12); Response.Cookies.Add(myCookie); string SteamUserData = SteamAPI.GetData(CreateSession.SteamId); HttpCookie UserDataCookie = new HttpCookie("SteamUserData"); UserDataCookie.Values.Add("SteamUserData", SteamUserData); UserDataCookie.Expires = DateTime.Now.AddHours(12); Response.Cookies.Add(UserDataCookie); SteamLoginButton.Visible = false; PleaseLoginText.Visible = false; MyDecksButton.Visible = false; Response.Redirect("Default", false); break; case AuthenticationStatus.Canceled: case AuthenticationStatus.Failed: { Response.Redirect("Default", false); } break; } } else { CreateDeckButton.CssClass = "btn btn-success mainbtn disabled"; MyDecksButton.CssClass = "btn btn-primary mainbtn disabled"; } } else { SteamLoginButton.Visible = false; PleaseLoginText.Visible = false; MyDecksButton.Visible = true; } }
protected void Page_Load(object sender, EventArgs e) { if (Utilities.CheckForValidSteamSession(Request.Cookies["AccessToken"])) { HttpCookie myCookie = Request.Cookies["SteamUserData"]; if (myCookie != null) { if (!string.IsNullOrEmpty(myCookie.Values["SteamUserData"])) { SteamName.Text = JObject.Parse(myCookie.Values["SteamUserData"].ToString())["response"]["players"][0]["personaname"].ToString(); SteamImage.ImageUrl = JObject.Parse(myCookie.Values["SteamUserData"].ToString())["response"]["players"][0]["avatar"].ToString(); CreateOrRefreshSession CreateSession = new CreateOrRefreshSession(); CreateSession.SteamId = JObject.Parse(myCookie.Values["SteamUserData"].ToString())["response"]["players"][0]["steamid"].ToString(); CreateSession.ServerPassword = Utilities.ServerPassword; Utilities.MakePOSTRequest(Utilities.ServerDNS + "/RefreshAccessToken", CreateSession); HttpCookie AccessTokenCookie = new HttpCookie("AccessToken"); AccessTokenCookie.Expires = DateTime.Now.AddMinutes(5); Response.Cookies.Add(myCookie); } } } else { //HttpCookie myCookie2 = new HttpCookie("SteamUserData"); //myCookie2.Expires = DateTime.Now.AddHours(-1); //Response.Cookies.Add(myCookie2); } }