| @@ -964,8 +964,35 @@ | ||
| 964 | 964 | $settings->delete_credentials(); |
| 965 | 965 | |
| 966 | 966 | } |
| 967 | 967 | |
| 968 | +/** | |
| 969 | + * Returns the OAuth authorization URL to connect the Plugin to a Kit account. | |
| 970 | + * | |
| 971 | + * A nonce is added to the return URL, which is verified before the authorization | |
| 972 | + * code is exchanged for an access token. | |
| 973 | + * | |
| 974 | + * @since 3.4.6 | |
| 975 | + * | |
| 976 | + * @param string $return_url URL to return to after authorization. Defaults to the Plugin's settings screen. | |
| 977 | + * @return string OAuth authorization URL. | |
| 978 | + */ | |
| 979 | +function convertkit_get_oauth_url( $return_url = '' ) { | |
| 980 | + | |
| 981 | + // Default to returning to the Plugin's settings screen. | |
| 982 | + if ( empty( $return_url ) ) { | |
| 983 | + $return_url = convertkit_get_settings_link(); | |
| 984 | + } | |
| 985 | + | |
| 986 | + $api = new ConvertKit_API_V4( CONVERTKIT_OAUTH_CLIENT_ID, CONVERTKIT_OAUTH_CLIENT_REDIRECT_URI ); | |
| 987 | + | |
| 988 | + return $api->get_oauth_url( | |
| 989 | + add_query_arg( 'nonce', wp_create_nonce( CONVERTKIT_NONCE_ACTION_OAUTH_CONNECT ), $return_url ), | |
| 990 | + get_site_url() | |
| 991 | + ); | |
| 992 | + | |
| 993 | +} | |
| 994 | + | |
| 968 | 995 | // Update Access Token when refreshed by the API class. |
| 969 | 996 | add_action( 'convertkit_api_get_access_token', 'convertkit_maybe_update_credentials', 10, 2 ); |
| 970 | 997 | add_action( 'convertkit_api_refresh_token', 'convertkit_maybe_update_credentials', 10, 2 ); |
| 971 | 998 | |