bueno haber en vez de un hash deberias encriptar la informacion sobre del usuario para despues en el dominio b desencriptarla y validarle
ahora como seguridad no es recomendable hacerlo de la siguiente manera
miweb.com/?user=juan&pass=1234
ya que con la modificacion de la url podemos acceder a sessiones de otros usuarios investigando un poco
tampoco deberia mandarse la pass ni el user si no un dato unico existente en la bd del usuario y algunos credenciales user agent ip etc.... con eso creamos la cadena y la encriptamos
ahora si codificamos la informacion seria la url lo mas parecido a esto
miweb.com/?do=jdviudsf89gu98fdugf78gf8IJjhuguyuygyu67655
con lo cual protegemos la info y hacemos algo mas seguro el sistema
en el momento de llegar a otro dominio verificamos la cadena el dato unico el user agent ip etc.......
puedes usar la libreria crypt para encriptar la informacion
http://es.php.net/manual/es/book.mcrypt.php
una vez validado el usuario en el dominio b o c indiferentemente de donde venga se elimina la cadena y se validara por sessiones
en los links que apuntan hacia los otros dominios tiene que contener la cadena encriptada para que el user navege entre ellos con un solo login, espero haberme explicado