static void Main(string[] args) { System.Diagnostics.Debugger.Launch(); var p = new CodeFlow(); // Handle Arguments var authcoderesponse = args.SkipWhile(a => a != "authresponse").Skip(1).FirstOrDefault(); var authclient = new OAuth2Client( new Uri(Constant.TokenEndpointAuthorize), Constant.CodeClientId, Constant.CodeClientSecret); if (authcoderesponse != null) { ReceiveAuthorizationCode(authcoderesponse); } else { // Request Authorization code, open URL in browser System.Diagnostics.Process.Start(p.CreateAuthUrl(authclient)); } Console.Read(); }
private static void ReceiveAuthorizationCode(string authcoderesponse) { var p = new CodeFlow(); // Get Token TokenResponse resultToken = null; try { resultToken = Util.GetToken(authcoderesponse, Constant.RedirectUriCode).Result; } catch (AggregateException ex) { if (ex.InnerException.GetType() == typeof(HttpRequestException)) { Console.WriteLine("Exception: {0}", ex.InnerException.Message); Console.Write("Wrong Authorization code?"); } else { throw; } } Util.ParseToken(resultToken); while (true) { p.CheckTokenUntilInvalid(resultToken.AccessToken); // Refresh token var refreshedToken = RefreshToken(resultToken); Util.ParseToken(refreshedToken); // Check new Token Console.WriteLine("New Token valid: {0}", Util.ValidateToken(refreshedToken.AccessToken)); resultToken = refreshedToken; } }
private static void ReceiveAuthorizationCode(string authcoderesponse) { var p = new CodeFlow(); // Get Token TokenResponse resultToken = null; try { resultToken = Util.GetToken(authcoderesponse, Constant.RedirectUriCode).Result; } catch (AggregateException ex) { if (ex.InnerException.GetType() == typeof (HttpRequestException)) { Console.WriteLine("Exception: {0}", ex.InnerException.Message); Console.Write("Wrong Authorization code?"); } else { throw; } } Util.ParseToken(resultToken); while (true) { p.CheckTokenUntilInvalid(resultToken.AccessToken); // Refresh token var refreshedToken = RefreshToken(resultToken); Util.ParseToken(refreshedToken); // Check new Token Console.WriteLine("New Token valid: {0}", Util.ValidateToken(refreshedToken.AccessToken)); resultToken = refreshedToken; } }