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/members/test-controller.php

    r14035 r14070  
    7979                // Set current user.
    8080                $current_user = get_current_user_id();
    81                 $this->bp::set_current_user( $u2 );
     81                wp_set_current_user( $u2 );
    8282
    8383                // u2 is the only one to have a latest_update.
     
    9595                bp_update_user_last_activity( $u1, $date_last_activity );
    9696
    97                 $this->bp::set_current_user( $current_user );
     97                wp_set_current_user( $current_user );
    9898
    9999                // u1 and u3 are friends.
     
    422422                // Set current user.
    423423                $current_user = get_current_user_id();
    424                 $this->bp::set_current_user( $u1 );
     424                wp_set_current_user( $u1 );
    425425
    426426                $a1 = bp_activity_post_update(
     
    454454                $this->assertEquals( 1, $member['total_friend_count'] );
    455455
    456                 $this->bp::set_current_user( $current_user );
     456                wp_set_current_user( $current_user );
    457457        }
    458458
     
    463463                // Set current user.
    464464                $current_user = get_current_user_id();
    465                 $this->bp::set_current_user( $this->user );
     465                wp_set_current_user( $this->user );
    466466
    467467                $request = new WP_REST_Request( 'GET', $this->endpoint_url . '/me' );
     
    480480                $this->assertEquals( 'right now', $me['last_activity']['timediff'] );
    481481
    482                 $this->bp::set_current_user( $current_user );
     482                wp_set_current_user( $current_user );
    483483        }
    484484
     
    571571                $this->assertTrue( bp_is_user_spammer( $u ) );
    572572
    573                 $this->bp::set_current_user( $u2 );
     573                wp_set_current_user( $u2 );
    574574
    575575                $request = new WP_REST_Request( 'GET', sprintf( $this->endpoint_url . '/%d', $u ) );
     
    591591                $this->assertTrue( bp_is_user_spammer( $u ) );
    592592
    593                 $this->bp::set_current_user( $u );
     593                wp_set_current_user( $u );
    594594
    595595                $request = new WP_REST_Request( 'GET', sprintf( $this->endpoint_url . '/%d', $u ) );
     
    611611                $this->assertTrue( bp_is_user_spammer( $u ) );
    612612
    613                 $this->bp::set_current_user( $this->user );
     613                wp_set_current_user( $this->user );
    614614
    615615                $request = new WP_REST_Request( 'GET', sprintf( $this->endpoint_url . '/%d', $u ) );
     
    657657        public function test_create_item_without_permission() {
    658658                $u = static::factory()->user->create();
    659                 $this->bp::set_current_user( $u );
     659                wp_set_current_user( $u );
    660660
    661661                $params = array(
     
    725725         */
    726726        public function test_update_item_invalid_id() {
    727                 $this->bp::set_current_user( $this->user );
     727                wp_set_current_user( $this->user );
    728728
    729729                $request = new WP_REST_Request( 'PUT', sprintf( $this->endpoint_url . '/%d', REST_TESTS_IMPOSSIBLY_HIGH_NUMBER ) );
     
    750750                $u2 = static::factory()->user->create();
    751751
    752                 $this->bp::set_current_user( $u1 );
     752                wp_set_current_user( $u1 );
    753753
    754754                $request = new WP_REST_Request( 'PUT', sprintf( $this->endpoint_url . '/%d', $u2 ) );
     
    778778                );
    779779
    780                 $this->bp::set_current_user( $this->user );
     780                wp_set_current_user( $this->user );
    781781                bp_register_member_type( 'membertypeone' );
    782782
     
    807807                );
    808808
    809                 $this->bp::set_current_user( $u );
     809                wp_set_current_user( $u );
    810810                bp_register_member_type( 'membertypeone' );
    811811
     
    827827         */
    828828        public function test_update_item_member_type_as_admin_user() {
    829                 $this->bp::set_current_user( $this->user );
     829                wp_set_current_user( $this->user );
    830830                bp_register_member_type( 'membertypeone' );
    831831                bp_register_member_type( 'membertypetwo' );
     
    875875         */
    876876        public function test_delete_item_invalid_id() {
    877                 $this->bp::set_current_user( $this->user );
     877                wp_set_current_user( $this->user );
    878878
    879879                $request = new WP_REST_Request( 'DELETE', sprintf( $this->endpoint_url . '/%d', REST_TESTS_IMPOSSIBLY_HIGH_NUMBER ) );
     
    906906                $u2 = static::factory()->user->create();
    907907
    908                 $this->bp::set_current_user( $u1 );
     908                wp_set_current_user( $u1 );
    909909
    910910                $request = new WP_REST_Request( 'DELETE', sprintf( $this->endpoint_url . '/%d', $u2 ) );
     
    922922                $u            = static::factory()->user->create( array( 'display_name' => 'Deleted User' ) );
    923923                $current_user = get_current_user_id();
    924                 $this->bp::set_current_user( $u );
     924                wp_set_current_user( $u );
    925925
    926926                $request = new WP_REST_Request( 'DELETE', $this->endpoint_url . '/me' );
     
    937937                $this->assertEquals( 'Deleted User', $data['previous']['name'] );
    938938
    939                 $this->bp::set_current_user( $u );
     939                wp_set_current_user( $u );
    940940        }
    941941
    942942        public function test_prepare_item() {
    943                 $this->bp::set_current_user( $this->user );
     943                wp_set_current_user( $this->user );
    944944
    945945                $request = new WP_REST_Request();
     
    10021002
    10031003        protected function allow_user_to_manage_multisite() {
    1004                 $this->bp::set_current_user( $this->user );
     1004                wp_set_current_user( $this->user );
    10051005
    10061006                if ( is_multisite() ) {
Note: See TracChangeset for help on using the changeset viewer.