I am trying to think of a logical way to integrate another system's users with Drupal's. The actual integration is between Drupal and WHMCS. WHMCS has its own API so you can do things like getUser(emailAddress). What should be my strategy? Is there an easy way to make Drupal completely ignore the local "users" table and rather use another source for authentication? Perhaps auto-creating an entry on the Drupal side for non-existing users and automatically making users inactive that no longer exist on WHMCS's side?
UPDATE
I tried the suggested authorization providers suggested, but it seems my problem is the other way around. I don't want other sites to be authenticated using my drupal site's login details. What I actually want to do is use an installation of WHMCS, and use that as the authorized users list. In other words, when a user tries to log in using their whmcs details, it must log them into the drupal site. If they change their e-mail address on the drupal site, it must update it on the whmcs site. I know how write the api implemtation, I just don't know what I must use to do the groundwork. I would imagine there is already some kind of middleware that does the bulk of the work, and then I just have to code the implementation that does the lookup of a user, the call to update the details etc.
Is there something available that will allow me to easily integrate with a JSON Api like WHMCS?