get_param( 'login' ), $request->get_param( 'password' ) ); if ( is_wp_error( $user ) ) { return $user; } User::find( $user->ID )->login(); $redirect_to = $request->get_param( 'redirect_to' ); $redirect_url = ! empty( $redirect_to ) ? wp_validate_redirect( $redirect_to, false ) : null; return [ 'name' => $user->display_name, 'email' => $user->user_email, 'avatar_url' => get_avatar_url( $user->user_email, [ 'size' => 48 ] ), 'redirect_url' => apply_filters( 'sc_login_redirect_url', $redirect_url ), 'nonce' => ( wp_installing() && ! is_multisite() ) ? '' : wp_create_nonce( 'wp_rest' ), ]; } /** * Logout user * * @param \WP_REST_Request $request Request object. * * @return array Returns an array with a new nonce for future requests. */ public function logout( \WP_REST_Request $request ) { wp_logout(); return [ 'nonce' => ( wp_installing() && ! is_multisite() ) ? '' : wp_create_nonce( 'wp_rest' ), ]; } }