Esempio n. 1
0
        public string AuthenticateUser(Login login, bool mfa)
        {
            string accessToken = string.Empty;

            using (HttpClient client = new HttpClient()) {
                client.BaseAddress = new Uri("https://api.robinhood.com/");
                var parameters = new Dictionary <string, string>
                {
                    { "grant_type", "password" },
                    { "client_id", "c82SH0WZOsabOXGP2sxqcj34FxkvfnWRZBKlBjFS" },
                    { "username", login.username },
                    { "password", login.password }
                };
                var toPost   = new FormUrlEncodedContent(parameters);
                var response = client.PostAsync("oauth2/token/", toPost).Result;
                var content  = response.Content.ReadAsStringAsync().Result;
                if (!mfa)
                {
                    accessToken        = JsonParse.ParseAccessToken(content);
                    login.refreshToken = JsonParse.ParseRefreshToken(content);
                    SaveAccessTokenAndTimeStamp(accessToken, login.refreshToken);
                }
            }
            return(accessToken);
        }
Esempio n. 2
0
 public string CheckRefreshToken(Login login)
 {
     //If expired, we are gonna use refresh token to get a new access token
     if (DateTimeOffset.Now.ToUnixTimeSeconds() > login.TokenExpired)
     {
         using (HttpClient client = new HttpClient())
         {
             client.BaseAddress = new Uri("https://api.robinhood.com/");
             var parameters = new Dictionary <string, string>
             {
                 { "grant_type", "refresh_token" },
                 { "client_id", "c82SH0WZOsabOXGP2sxqcj34FxkvfnWRZBKlBjFS" },
                 { "refresh_token", login.refreshToken }
             };
             var toPost  = new FormUrlEncodedContent(parameters);
             var content = client.PostAsync("oauth2/token/", toPost).Result.Content.ReadAsStringAsync().Result;
             login.AccessToken  = JsonParse.ParseAccessToken(content);
             login.refreshToken = JsonParse.ParseRefreshToken(content);
         }
         SaveAccessTokenAndTimeStamp(login.AccessToken, login.refreshToken);
         return("New Token Aquired");
     }
     return("Token not expired");
 }