Ejemplo n.º 1
0
       public async Task<Tokens> GetStoredTokens()
       {
           try
           {
               var tokens = new Tokens().Deserialize("Tokens.json");
               return tokens.ExpiryDate >= DateTime.Now
                   ? tokens
                   : await ParseResponseAndStore(GetRefreshTokenResponse(tokens.RefreshToken));
           }
           catch (Exception ex)
           {
               return new Tokens();
           }
 
       }
Ejemplo n.º 2
0
        private static async Task<Tokens> ParseResponseAndStore(Task<string> response)
        {
            var content = await response;

            var jsonObj = JObject.Parse(content);


            var token = jsonObj.SelectToken("$.access_token");
            var refreshToken = jsonObj.SelectToken("$.refresh_token");
            var expires = jsonObj.SelectToken("$['.expires']");

            var tokens = new Tokens
            {
                AccessToken = token.ToString(),
                RefreshToken = refreshToken.ToString(),
                ExpiryDate = DateTime.Parse(expires.ToString())
            };

            tokens.Serialize("Tokens.json");

            return tokens;
        }