From dd8bcec5d4e9a13dec3c125d90d96e64ef929af4 Mon Sep 17 00:00:00 2001 From: Justin Foell <630830+jrfoell@users.noreply.github.com> Date: Mon, 2 Nov 2020 11:31:05 -0600 Subject: [PATCH] Possible refresh fix --- src/WPStrava/API.php | 12 +++++++----- src/WPStrava/Settings.php | 5 +++++ 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/WPStrava/API.php b/src/WPStrava/API.php index b9b62ce..4821f6e 100755 --- a/src/WPStrava/API.php +++ b/src/WPStrava/API.php @@ -136,16 +136,18 @@ class WPStrava_API { throw WPStrava_Exception::from_wp_error( $response ); } - // Try *one* real-time token refresh if 404. - if ( $retry && 404 == $response['response']['code'] ) { // phpcs:ignore WordPress.PHP.StrictComparisons.LooseComparison + // Try *one* real-time token refresh if Unauthorized. + if ( $retry && 401 == $response['response']['code'] ) { // phpcs:ignore WordPress.PHP.StrictComparisons.LooseComparison $retry = false; $auth = WPStrava::get_instance()->auth; if ( $auth instanceof WPStrava_AuthRefresh ) { $auth->auth_refresh(); - return $this->remote_get( $uri, $args ); + $access_token = $this->get_access_token(); + if ( $access_token ) { + $get_args['headers']['Authorization'] = 'Bearer ' . $access_token; + } + return $this->remote_get( $uri, $get_args ); } - } else { - $retry = true; } if ( 200 != $response['response']['code'] ) { // phpcs:ignore WordPress.PHP.StrictComparisons.LooseComparison diff --git a/src/WPStrava/Settings.php b/src/WPStrava/Settings.php index 247650f..4b5483f 100644 --- a/src/WPStrava/Settings.php +++ b/src/WPStrava/Settings.php @@ -305,6 +305,11 @@ class WPStrava_Settings { $input = filter_input_array( INPUT_POST, $input_args ); + // All IDs have been removed. + if ( empty( $input['strava_id'] ) ) { + return array(); + } + // Chop $nicknames to same size as ids. $nicknames = array_slice( $nicknames, 0, count( $input['strava_id'] ) );