Además de usar OAuth, ¿cómo se puede autenticar a los clientes y usuarios de manera diferente?

Puede intentar lanzar su propia solución, seguro. Necesitarías:

– requiere un parámetro para client_id o similar
– para autenticar al cliente, puede aceptar un secreto a través de SSL o algún tipo de firma
– para autenticar a sus usuarios, cree un punto final que pase la identificación de sus usuarios como un token o similar a las aplicaciones

Mucha gente rueda la suya; Es un enfoque perfectamente válido.

Sin embargo, hay algunos inconvenientes que debe tener en cuenta:
– el soporte de la biblioteca será limitado, tendrá que escribir el suyo propio. Oauth tiene bibliotecas robustas ya en muchos idiomas.
– Probablemente perderá algo de sutileza en seguridad, dejando a sus usuarios abiertos al secuestro o algo peor. Esto sucede de la mejor manera (consulte Ataque de fijación de sesión de OAuth 1.0, por ejemplo, corregido en OAuth 1.0a)

Si no crees que serás un objetivo, entonces no es una gran preocupación. (Sugerencia: todos son un objetivo)
– Será más trabajo; La API y el código de autenticación pueden ser una molestia

Otras opciones incluyen saml, openid o muchos otros estándares. Estos tienen un mejor soporte de biblioteca pero sufren de más complejidad. OAuth 2 fue desarrollado para ser simple de implementar y al mismo tiempo mantener una alta seguridad.

Si aún no está seguro, proporcione más detalles y me complace ayudarlo a pensar en la elección