コード例 #1
0
        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;
            }
        }
コード例 #2
0
        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);
            }
        }