As a company that wants to offer access to its services to third party known clients, I try to design an authentication/permission system. Here are our needs: