Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
11/03/2024 06:19:06 PM (13 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.