@@ -60,19 +60,32 @@ public function parse_header( $header ) {
60
60
61
61
}
62
62
63
+ public function retrieve_authorization_headers () {
64
+ $ auth_headers = ! empty ( $ _SERVER ['HTTP_AUTHORIZATION ' ] ) ? $ _SERVER ['HTTP_AUTHORIZATION ' ] : false ;
65
+
66
+ if ( ! $ auth_headers && function_exists ( 'getallheaders ' ) ) {
67
+ $ all_headers = getallheaders ();
68
+ $ auth_headers = isset ( $ all_headers ['Authorization ' ] ) ? $ all_headers ['Authorization ' ] : false ;
69
+ }
70
+
71
+ return $ auth_headers ;
72
+ }
73
+
63
74
public function get_parameters ( $ require_token = true , $ extra = array () ) {
64
75
$ params = array_merge ( $ _GET , $ _POST );
65
76
$ params = wp_unslash ( $ params );
66
77
67
- if ( ! empty ( $ _SERVER ['HTTP_AUTHORIZATION ' ] ) ) {
68
- $ header = wp_unslash ( $ _SERVER ['HTTP_AUTHORIZATION ' ] );
78
+ $ auth_headers = $ this ->retrieve_authorization_headers ();
79
+
80
+ if ( ! empty ( $ auth_headers ) ) {
81
+ $ auth_headers = wp_unslash ( $ auth_headers );
69
82
70
83
// Trim leading spaces
71
- $ header = trim ( $ header );
84
+ $ auth_headers = trim ( $ auth_headers );
72
85
73
- $ header_params = $ this ->parse_header ( $ header );
74
- if ( ! empty ( $ header_params ) ) {
75
- $ params = array_merge ( $ params , $ header_params );
86
+ $ auth_header_params = $ this ->parse_header ( $ auth_headers );
87
+ if ( ! empty ( $ auth_header_params ) ) {
88
+ $ params = array_merge ( $ params , $ auth_header_params );
76
89
}
77
90
}
78
91
@@ -504,6 +517,7 @@ public function revoke_access_token( $key ) {
504
517
* @return boolean|WP_Error True on success, error otherwise
505
518
*/
506
519
protected function check_oauth_signature ( $ consumer , $ oauth_params , $ token = null ) {
520
+
507
521
$ http_method = strtoupper ( $ _SERVER ['REQUEST_METHOD ' ] );
508
522
509
523
switch ( $ http_method ) {
0 commit comments