WC_Helper::_helper_auth_connect()
Initiate a new OAuth connection.
Method of the class: WC_Helper{}
Hooks from the method
Return
null
. Nothing (null).
Usage
$result = WC_Helper::_helper_auth_connect();
WC_Helper::_helper_auth_connect() WC Helper:: helper auth connect code WC 9.5.1
private static function _helper_auth_connect() { if ( empty( $_GET['wc-helper-nonce'] ) || ! wp_verify_nonce( wp_unslash( $_GET['wc-helper-nonce'] ), 'connect' ) ) { // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized self::log( 'Could not verify nonce in _helper_auth_connect' ); wp_die( 'Could not verify nonce' ); } $redirect_url_args = array( 'page' => 'wc-addons', 'section' => 'helper', 'wc-helper-return' => 1, 'wc-helper-nonce' => wp_create_nonce( 'connect' ), ); if ( isset( $_GET['install'] ) ) { $redirect_url_args['install'] = sanitize_text_field( wp_unslash( $_GET['install'] ) ); } if ( isset( $_GET['utm_source'] ) ) { $redirect_url_args['utm_source'] = wc_clean( wp_unslash( $_GET['utm_source'] ) ); } if ( isset( $_GET['utm_campaign'] ) ) { $redirect_url_args['utm_campaign'] = wc_clean( wp_unslash( $_GET['utm_campaign'] ) ); } $redirect_uri = add_query_arg( $redirect_url_args, admin_url( 'admin.php' ) ); $request = WC_Helper_API::post( 'oauth/request_token', array( 'body' => array( 'home_url' => home_url(), 'redirect_uri' => $redirect_uri, ), ) ); $code = wp_remote_retrieve_response_code( $request ); if ( 200 !== $code ) { self::log( sprintf( 'Call to oauth/request_token returned a non-200 response code (%d)', $code ) ); wp_die( 'Something went wrong' ); } $secret = json_decode( wp_remote_retrieve_body( $request ) ); if ( empty( $secret ) ) { self::log( sprintf( 'Call to oauth/request_token returned an invalid body: %s', wp_remote_retrieve_body( $request ) ) ); wp_die( 'Something went wrong' ); } /** * Fires when the Helper connection process is initiated. */ do_action( 'woocommerce_helper_connect_start' ); $connect_url = add_query_arg( array( 'home_url' => rawurlencode( home_url() ), 'redirect_uri' => rawurlencode( $redirect_uri ), 'secret' => rawurlencode( $secret ), 'redirect_admin_url' => isset( $_GET['redirect_admin_url'] ) ? rawurlencode( esc_url_raw( urldecode( // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized wp_unslash( $_GET['redirect_admin_url'] ) ) ) ) : '', 'wum-installed' => WC_Woo_Update_Manager_Plugin::is_plugin_installed() ? '1' : '0', ), WC_Helper_API::url( 'oauth/authorize' ) ); wp_redirect( esc_url_raw( $connect_url ) ); die(); }