I think your paradigm is not optimal. You are starting on premise of “WordPress Ajax endpoint is slow” and your solution is to “build alternate authentication scheme”. This completely spells trouble.
Anything security should be reused as much as possible and coded by people specializing in security. Trade-off of reimplementing security for the sake of performance is major red flag.
So back to square one. If your issue is “WordPress Ajax endpoint is slow” then build a faster WordPress Ajax endpoint. You can do so with SHORTINIT (there are answers about it around on site) to have very customized core load. It’s a nightmare to ship in public code and pain on upgrades, but for private high–performance Ajax it’s the way to go.
PS I am not sure how your Ajax needs relate to RPC (XML RPC?) needs, since you mention both.
Related Posts:
- WordPress Ajax Data Security
- Nonces and Cache
- Is it safe to assume that a nonce may be validated more than once?
- Multiple ajax nonce requests
- Nonces, AJAX, script variables & security in WordPress
- How do I check if AJAX nonces are implemented correctly?
- Is it safe to manually sign a user in using AJAX?
- WP Admin AJAX Security – using POST to include a relative URL
- ajax nonce verification failing
- Should I check for privileges before hooking into `wp_ajax_$handle` or after?
- Is it secure to use admin-ajax.php in front?
- Why does check_ajax_referer give a 403 error on https websites?
- Using nonce when loading posts with AJAX
- 200 return code on ‘POST /wp-admin/admin-ajax.php’ while NOT logged in
- Should wordpress nonce be placed in html form or in javascript file
- How to prevent my external API call from being called by anyone but me (my site)
- check_ajax_reffer not working when logged
- How to safely pass post_id and user_id via AJAX to the backend (prevent user from changing it via JS)?
- Ajax Security regarding user priviliges and nonces
- Can I make an ajax response cross-domain?
- How to stop a nonce from being cached in an inline script, or alternatives to regenerate it if expired?
- How does the security of admin_ajax.php work?
- Ajax takes 10x as long as it should/could
- Load minimum WordPress environment
- How to call a PHP function with Ajax when the user clicks a button
- WordPress embeds in AJAX inserted content
- How do I send an ajax request and get a response back from a function?
- Automatically pull newer posts and append to current page.
- Load page content with AJAX using Fancybox?
- Dynamically changing navigation links (next and previous) via AJAX
- Why is my AJAX call not working?
- How to Access custom database content with AJAX onClick refresh of div inside member-only WordPress page?
- how to use reCaptcha v3 in wordpress custom login form?
- admin-ajax.php HTTP400: BAD REQUEST – The request could not be processed by the server due to invalid syntax
- AJAX action not triggering PHP function
- WP_Session not acting with AJAX
- add_action and Ajax
- Help with AJAX front end comment moderation
- Enqueue script in header
- wp_ajax_nopriv_xxx is not firing on one site, works on all others. -1 for logged out users
- WP_User_Query ignoring ‘meta_query’ arguments
- Ajax Modal Flickers When Opened Multiple Times
- Increased CPU load due to admin-ajax.php spam
- Can’t get result from sql using ajax result
- Theme Customizer – Conditional Controls
- Edit a different page in WP Customizer
- Get the_content with ajax
- WordPress AJAX – how to return true or false in the callback function
- Admin ajax error 400 when passing select value to populate another select
- WordPress Ajax POST Error 403 admin-ajax.php
- Pass additional parameter with async upload
- AJAX request randomly stop working and returns error 400
- Sending variable from ajax on form submit
- WordPress search results with Ajax, get_post_type() not working
- Audio TAG Not using MediaElement When Page is loaded through ajax
- Interim-Login form on frontend
- WordPress ajax call returns a zero though die()
- Save value from Javascript object to WP user
- wp_update_post onclick button using ajax
- add Additional class to woocommerce cart-contents link
- Ajax insert or update data
- Add Ajax to rating button
- wp_ajax declaration confusing for Front end
- Delete ACF repeater field row on Front End
- No errors in the console but Ajax call doesn’t seem to be working
- Preprocess submitted data
- Update status, meta while inside a post using AJAX button
- How to disable drag-and-drop upload function in Media Library?
- update_option in WordPress AJAX
- Load more posts (Ajax) in tabbed sidebar on single.php
- Something strange with ajax
- admin-ajax.php returns 0 even when the post status code is 200 OK
- Why is the file not uploading to the server?
- Get localize of a loaded javascript
- REST public POST giving 403 forbidden nginx
- Query data after an Ajax insert
- How to get next and previous post into ajax formed modal windows?
- Content including hooks inside wp-settings.php are being called twice in WordPress
- Problem when sending file via ajax
- wp_verify_nonce not working on the mobile device
- Frontend AJAX Media Upload returning 404
- JS global variable doesn’t update
- 404 error custom post type rest api
- Change button text after ajax db update
- Jquery wrap permalink in a data-attribute?
- How do I display posts of a specific day?
- Load .php file into div using ajax
- Native WordPress Video Shortcode Not Working After Post is Loaded via Ajax
- Ajax Function call is always returning 0 in front end(without plugin) [closed]
- Ajax live search, “No products found” when the title contains apostrophes and quotations
- Using AJAX for dynamic settings pages
- Speeding up admin-ajax.php
- admin ajax is not working for non logged in users
- Change search to outpout category name instead of Post type name
- ‘Dehighlighting’ navigation once clicked
- wp_localize_script not create variable in head section
- AJAX admin Internal 500 error Failed to Upload
- Class property not visible inside ajax callback function?
- wordpress ajax bad request 400
- JQuery UI Autocomplete/Autosuggest WordPress