Solution:
Well WordPress it self has a communication protocol which is XML-RPC you can read more on it here, However it does not have authentication method builtin.
But you can try it some thing like this:
function mynamespace_getUserID( $args ) {
global $wp_xmlrpc_server;
$wp_xmlrpc_server->escape( $args );
$blog_id = $args[0];
$username = $args[1];
$password = $args[2];
if ( ! $user = $wp_xmlrpc_server->login( $username, $password ) )
return $wp_xmlrpc_server->error;
return $user->ID;
}
function mynamespace_new_xmlrpc_methods( $methods ) {
$methods['mynamespace.getUserID'] = 'mynamespace_getUserID';
return $methods;
}
add_filter( 'xmlrpc_methods', 'mynamespace_new_xmlrpc_methods');
You can read more on Extending XML-RPC here. If you are using client side language for authentication, then you can check WordPress XmlRpc Javascript Api