step_token = $step_token; } /** * @param null|WP_Error|WP_User $user * * @return bool */ public function supports( $user ) { return $this->is_wp_user( $user ); } /** * @param null|WP_Error|WP_User $user * * @return bool|JSON_Response|Redirection_Response|View_Response */ protected function handle( $user ) { try { if ( ! $this->user_storage->is_user_blocked() ) { return $this->fallback( $user ); } } catch ( User_Not_Found_Exception $e ) { return $this->json_error( Errors::USER_NOT_FOUND_ERROR, 404 ); } $this->step_token->reset(); return $this->json_error( Errors::AUTHENTICATION_LIMIT_ERROR, 403 ); } }