le principe de la clé et du secret, c'est que le secret n'est jamais envoyé... c'est secret (comme son nom l'indique)
dans ton application coté client et coté serveur tu connais le secret. et tu envoie la key. mais tu n'evoie pas vraiment la key. en fait tu envoi un hash (md5, sha1, aes ou autre) de key + secret
et coté serveur, tu récupères l'organisation/l'utilisateur via le api_key et tu reconstruit le meme hash coté serveur et tu compare a ce qui t'as été envoyé. si c'est bon, c'est qu'ils se partagent le meme secret, sinon, ben c'est qu'un petit malin essaye de tricher mais ne connait pas le secret.
ce sera beaucoup plus sécurisé.