Supongo que lo que quiere decir es que los visitantes de otro sitio realizarán solicitudes del lado del cliente a su API, y desea atribuir estas solicitudes a ese sitio.
Hay varias maneras de hacerlo, dependiendo de qué tan fuerte necesite la autenticación.
Si solo está utilizando los datos con fines estadísticos y tal vez para evitar el uso no autorizado de atacantes poco sofisticados, puede usar la referencia HTTP. Por supuesto, esto puede ser falsificado, por lo que no será adecuado si requiere una autenticación muy sólida.
Otra opción es usar una clave API / ID de sitio que se pasa junto con todas las solicitudes. Un atacante podría fácilmente tomar la clave API de un cliente y abusar de ella, o usarla en otro sitio, pero al menos puede volver a emitir la clave / ID si se abusa a diferencia del remitente.
Si necesita una autenticación muy sólida, tendrá que hacer que sus clientes generen un token firmado por tiempo limitado en el lado del servidor, que luego el usuario le transmite a usted. Básicamente, cada cliente tendría una clave secreta en el lado del servidor y la utilizarían para cifrar un mensaje, incluido un límite de tiempo; puede verificarlo descifrando cuando el usuario se lo transmite. Es posible que pueda aprovechar algo como enlace para hacer esto. La desventaja de esto es que no puede hacerlo completamente en el lado del cliente, por lo que sus clientes podrían tener que hacer algunos cambios en su aplicación.