Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
11/03/2024 06:19:06 PM (22 months ago)
Author:
espellcaste
Message:

A user is no longer de-authenticated when making REST API requests.

We are introducing a new BP_LoggedIn_User class to fetch data about a BuddyPress logged-in user. This new addition fixes an issue where a user could be de-authenticated when making REST API requests.

Props dcavins, DJPaul, johnjamesjacoby, and imath.

Closes https://github.com/buddypress/buddypress/pull/395
See #9229 and #9145
Fixes #7658

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/testcases/groups/test-group-membership-controller.php

    r14026 r14070  
    5555                $this->populate_group_with_members( array( $u1, $u2 ), $g1 );
    5656
    57                 $this->bp::set_current_user( $u1 );
     57                wp_set_current_user( $u1 );
    5858
    5959                $request  = new WP_REST_Request( 'GET', $this->endpoint_url . '/' . $g1 . '/members' );
     
    8484                $u2 = static::factory()->user->create();
    8585
    86                 $this->bp::set_current_user( $u1 );
     86                wp_set_current_user( $u1 );
    8787
    8888                $g1 = $this->bp::factory()->group->create(
     
    164164                $this->populate_group_with_members( array( $u1, $u2, $u3, $u4, $u5, $u6 ), $g1 );
    165165
    166                 $this->bp::set_current_user( $u1 );
     166                wp_set_current_user( $u1 );
    167167
    168168                $request = new WP_REST_Request( 'GET', $this->endpoint_url . '/' . $g1 . '/members' );
     
    207207                $member_object->promote( 'admin' );
    208208
    209                 $this->bp::set_current_user( $u1 );
     209                wp_set_current_user( $u1 );
    210210
    211211                add_filter( 'bp_rest_group_members_get_items_query_args', array( $this, 'group_members_query_args' ) );
     
    243243                $member_object->promote( 'admin' );
    244244
    245                 $this->bp::set_current_user( $u1 );
     245                wp_set_current_user( $u1 );
    246246
    247247                add_filter( 'bp_rest_group_members_get_items_query_args', array( $this, 'group_members_query_args' ) );
     
    285285                $g = $this->bp::factory()->group->create();
    286286
    287                 $this->bp::set_current_user( $u );
     287                wp_set_current_user( $u );
    288288
    289289                $request = new WP_REST_Request( 'POST', $this->endpoint_url . '/' . $g . '/members' );
     
    305305                $u = static::factory()->user->create( array( 'role' => 'administrator' ) );
    306306
    307                 $this->bp::set_current_user( $this->user );
     307                wp_set_current_user( $this->user );
    308308
    309309                $request = new WP_REST_Request( 'POST', $this->endpoint_url . '/' . $this->group_id . '/members' );
     
    333333                $u = static::factory()->user->create();
    334334
    335                 $this->bp::set_current_user( $u );
     335                wp_set_current_user( $u );
    336336
    337337                $request = new WP_REST_Request( 'POST', $this->endpoint_url . '/' . $this->group_id . '/members' );
     
    365365                );
    366366
    367                 $this->bp::set_current_user( $u );
     367                wp_set_current_user( $u );
    368368
    369369                $request = new WP_REST_Request( 'POST', $this->endpoint_url . '/' . $g1 . '/members' );
     
    387387                );
    388388
    389                 $this->bp::set_current_user( $u );
     389                wp_set_current_user( $u );
    390390
    391391                $request = new WP_REST_Request( 'POST', $this->endpoint_url . '/' . $g1 . '/members' );
     
    408408                $u2 = static::factory()->user->create();
    409409
    410                 $this->bp::set_current_user( $u1 );
     410                wp_set_current_user( $u1 );
    411411
    412412                $request = new WP_REST_Request( 'POST', $this->endpoint_url . '/' . $this->group_id . '/members' );
     
    433433                $this->populate_group_with_members( array( $u ), $this->group_id );
    434434
    435                 $this->bp::set_current_user( $this->user );
     435                wp_set_current_user( $this->user );
    436436
    437437                $request = new WP_REST_Request( 'PUT', $this->endpoint_url . '/' . $this->group_id . '/members/' . $u );
     
    468468                $member_object->promote( 'mod' );
    469469
    470                 $this->bp::set_current_user( $u1 );
     470                wp_set_current_user( $u1 );
    471471
    472472                $request = new WP_REST_Request( 'PUT', $this->endpoint_url . '/' . $g1 . '/members/' . $u3 );
     
    496496                $member_object->promote( 'mod' );
    497497
    498                 $this->bp::set_current_user( $u1 );
     498                wp_set_current_user( $u1 );
    499499
    500500                $request = new WP_REST_Request( 'PUT', $this->endpoint_url . '/' . $g1 . '/members/' . $u4 );
     
    523523                $member_object->promote( 'admin' );
    524524
    525                 $this->bp::set_current_user( $u2 );
     525                wp_set_current_user( $u2 );
    526526
    527527                $request = new WP_REST_Request( 'PUT', $this->endpoint_url . '/' . $g1 . '/members/' . $u1 );
     
    555555                $this->populate_group_with_members( array( $u1, $u3 ), $g1 );
    556556
    557                 $this->bp::set_current_user( $u2 );
     557                wp_set_current_user( $u2 );
    558558
    559559                $request = new WP_REST_Request( 'PUT', $this->endpoint_url . '/' . $g1 . '/members/' . $u4 );
     
    583583                $this->assertTrue( (bool) $member_object->is_banned );
    584584
    585                 $this->bp::set_current_user( $this->user );
     585                wp_set_current_user( $this->user );
    586586
    587587                $request = new WP_REST_Request( 'PUT', $this->endpoint_url . '/' . $g1 . '/members/' . $u1 );
     
    614614                $this->populate_group_with_members( array( $u1, $u3 ), $g1 );
    615615
    616                 $this->bp::set_current_user( $this->user );
     616                wp_set_current_user( $this->user );
    617617
    618618                $request = new WP_REST_Request( 'PUT', $this->endpoint_url . '/' . $g1 . '/members/' . $u4 );
     
    655655                $this->assertTrue( (bool) $member_object->is_banned );
    656656
    657                 $this->bp::set_current_user( $u2 );
     657                wp_set_current_user( $u2 );
    658658
    659659                $request = new WP_REST_Request( 'PUT', $this->endpoint_url . '/' . $g1 . '/members/' . $u1 );
     
    695695                $this->assertTrue( (bool) $member_object->is_banned );
    696696
    697                 $this->bp::set_current_user( $u2 );
     697                wp_set_current_user( $u2 );
    698698
    699699                $request = new WP_REST_Request( 'PUT', $this->endpoint_url . '/' . $g1 . '/members/' . $u1 );
     
    714714                $this->populate_group_with_members( array( $u ), $this->group_id );
    715715
    716                 $this->bp::set_current_user( $this->user );
     716                wp_set_current_user( $this->user );
    717717
    718718                $request = new WP_REST_Request( 'PUT', $this->endpoint_url . '/' . $this->group_id . '/members/' . $u );
     
    749749                $this->populate_group_with_members( array( $u1 ), $g1 );
    750750
    751                 $this->bp::set_current_user( $u2 );
     751                wp_set_current_user( $u2 );
    752752
    753753                $request = new WP_REST_Request( 'PUT', $this->endpoint_url . '/' . $g1 . '/members/' . $u1 );
     
    785785                $this->populate_group_with_members( array( $u1, $u3 ), $g1 );
    786786
    787                 $this->bp::set_current_user( $u3 );
     787                wp_set_current_user( $u3 );
    788788
    789789                $request = new WP_REST_Request( 'PUT', $this->endpoint_url . '/' . $g1 . '/members/' . $u1 );
     
    813813                $this->bp::add_user_to_group( $u2, $g1, array( 'is_mod' => true ) );
    814814
    815                 $this->bp::set_current_user( $u2 );
     815                wp_set_current_user( $u2 );
    816816
    817817                $request = new WP_REST_Request( 'PUT', $this->endpoint_url . '/' . $g1 . '/members/' . $u1 );
     
    839839                $this->bp::add_user_to_group( $u1, $g1, array( 'is_mod' => true ) );
    840840
    841                 $this->bp::set_current_user( $u1 );
     841                wp_set_current_user( $u1 );
    842842
    843843                $request = new WP_REST_Request( 'PUT', $this->endpoint_url . '/' . $g1 . '/members/' . $u1 );
     
    874874
    875875                // Site admin.
    876                 $this->bp::set_current_user( $this->user );
     876                wp_set_current_user( $this->user );
    877877
    878878                $request = new WP_REST_Request( 'PUT', $this->endpoint_url . '/' . $g1 . '/members/' . $u2 );
     
    908908
    909909                // Site admin.
    910                 $this->bp::set_current_user( $this->user );
     910                wp_set_current_user( $this->user );
    911911
    912912                $request = new WP_REST_Request( 'PUT', $this->endpoint_url . '/' . $g1 . '/members/' . $u2 );
     
    932932
    933933                // Site admin.
    934                 $this->bp::set_current_user( $this->user );
     934                wp_set_current_user( $this->user );
    935935
    936936                $request = new WP_REST_Request( 'PUT', $this->endpoint_url . '/' . $g1 . '/members/' . $this->user );
     
    966966
    967967                // Site admin.
    968                 $this->bp::set_current_user( $this->user );
     968                wp_set_current_user( $this->user );
    969969
    970970                $request = new WP_REST_Request( 'PUT', $this->endpoint_url . '/' . $g1 . '/members/' . $u2 );
     
    10061006
    10071007                // Site admin.
    1008                 $this->bp::set_current_user( $this->user );
     1008                wp_set_current_user( $this->user );
    10091009
    10101010                $request = new WP_REST_Request( 'PUT', $this->endpoint_url . '/' . $g1 . '/members/' . $u2 );
     
    10461046
    10471047                // Site admin.
    1048                 $this->bp::set_current_user( $this->user );
     1048                wp_set_current_user( $this->user );
    10491049
    10501050                $request = new WP_REST_Request( 'PUT', $this->endpoint_url . '/' . $g1 . '/members/' . $u1 );
     
    10721072                $group_member->promote( 'admin' );
    10731073
    1074                 $this->bp::set_current_user( $u3 );
     1074                wp_set_current_user( $u3 );
    10751075
    10761076                $request = new WP_REST_Request( 'PUT', $this->endpoint_url . '/' . $g1 . '/members/' . $u2 );
     
    11091109                $this->populate_group_with_members( array( $u1, $u3 ), $g1 );
    11101110
    1111                 $this->bp::set_current_user( $u2 );
     1111                wp_set_current_user( $u2 );
    11121112
    11131113                $request = new WP_REST_Request( 'PUT', $this->endpoint_url . '/' . $g1 . '/members/' . $u2 );
     
    11321132                $this->populate_group_with_members( array( $u1, $u3 ), $g1 );
    11331133
    1134                 $this->bp::set_current_user( $u2 );
     1134                wp_set_current_user( $u2 );
    11351135
    11361136                $request = new WP_REST_Request( 'PUT', $this->endpoint_url . '/' . $g1 . '/members/' . $u1 );
     
    11551155                $this->populate_group_with_members( array( $u1, $u3 ), $g1 );
    11561156
    1157                 $this->bp::set_current_user( $u3 );
     1157                wp_set_current_user( $u3 );
    11581158
    11591159                $request = new WP_REST_Request( 'PUT', $this->endpoint_url . '/' . $g1 . '/members/' . $u1 );
     
    11781178                $this->populate_group_with_members( array( $u1, $u3 ), $g1 );
    11791179
    1180                 $this->bp::set_current_user( $u3 );
     1180                wp_set_current_user( $u3 );
    11811181
    11821182                $request = new WP_REST_Request( 'PUT', $this->endpoint_url . '/' . $g1 . '/members/' . $u3 );
     
    11951195                $u = static::factory()->user->create();
    11961196
    1197                 $this->bp::set_current_user( $this->user );
     1197                wp_set_current_user( $this->user );
    11981198
    11991199                $request = new WP_REST_Request( 'PUT', $this->endpoint_url . '/' . REST_TESTS_IMPOSSIBLY_HIGH_NUMBER . '/members/' . $u );
     
    12371237                $this->populate_group_with_members( array( $u1, $u2 ), $g1 );
    12381238
    1239                 $this->bp::set_current_user( $this->user );
     1239                wp_set_current_user( $this->user );
    12401240
    12411241                $request = new WP_REST_Request( 'DELETE', $this->endpoint_url . '/' . $g1 . '/members/' . $u1 );
     
    12701270                $this->populate_group_with_members( array( $u1, $u2 ), $g1 );
    12711271
    1272                 $this->bp::set_current_user( $u1 );
     1272                wp_set_current_user( $u1 );
    12731273
    12741274                $request = new WP_REST_Request( 'DELETE', $this->endpoint_url . '/' . $g1 . '/members/' . $u1 );
     
    13041304                $group_member->ban();
    13051305
    1306                 $this->bp::set_current_user( $u1 );
     1306                wp_set_current_user( $u1 );
    13071307
    13081308                $request = new WP_REST_Request( 'DELETE', $this->endpoint_url . '/' . $g1 . '/members/' . $u1 );
     
    13291329                $this->populate_group_with_members( array( $u1, $u2 ), $g1 );
    13301330
    1331                 $this->bp::set_current_user( $u1 );
     1331                wp_set_current_user( $u1 );
    13321332
    13331333                $request = new WP_REST_Request( 'DELETE', $this->endpoint_url . '/' . $g1 . '/members/' . $u2 );
     
    13541354                $this->populate_group_with_members( array( $u1, $u2 ), $g1 );
    13551355
    1356                 $this->bp::set_current_user( $u3 );
     1356                wp_set_current_user( $u3 );
    13571357
    13581358                $request = new WP_REST_Request( 'DELETE', $this->endpoint_url . '/' . $g1 . '/members/' . $u1 );
     
    13891389                $group_member->promote( 'admin' );
    13901390
    1391                 $this->bp::set_current_user( $u2 );
     1391                wp_set_current_user( $u2 );
    13921392
    13931393                $request = new WP_REST_Request( 'DELETE', $this->endpoint_url . '/' . $g1 . '/members/' . $u2 );
     
    14191419                $this->populate_group_with_members( array( $u1 ), $g1 );
    14201420
    1421                 $this->bp::set_current_user( $u2 );
     1421                wp_set_current_user( $u2 );
    14221422
    14231423                $request = new WP_REST_Request( 'DELETE', $this->endpoint_url . '/' . $g1 . '/members/' . $u2 );
     
    14471447                $group_member->promote( 'admin' );
    14481448
    1449                 $this->bp::set_current_user( $u3 );
     1449                wp_set_current_user( $u3 );
    14501450
    14511451                $request = new WP_REST_Request( 'DELETE', $this->endpoint_url . '/' . $g1 . '/members/' . $u1 );
     
    14781478                $this->populate_group_with_members( array( $u2, $u3 ), $g1 );
    14791479
    1480                 $this->bp::set_current_user( $this->user );
     1480                wp_set_current_user( $this->user );
    14811481
    14821482                $request = new WP_REST_Request( 'DELETE', $this->endpoint_url . '/' . $g1 . '/members/' . $this->user );
     
    15061506                $group_member->promote( 'admin' );
    15071507
    1508                 $this->bp::set_current_user( $this->user );
     1508                wp_set_current_user( $this->user );
    15091509
    15101510                $request = new WP_REST_Request( 'DELETE', $this->endpoint_url . '/' . $g1 . '/members/' . $u1 );
     
    15361536                $this->populate_group_with_members( array( $u1, $u2 ), $g1 );
    15371537
    1538                 $this->bp::set_current_user( $this->user );
     1538                wp_set_current_user( $this->user );
    15391539
    15401540                $request = new WP_REST_Request( 'DELETE', $this->endpoint_url . '/' . $g1 . '/members/' . $u1 );
Note: See TracChangeset for help on using the changeset viewer.