Multi-step external authentication

Use multiple types of external auth modules together to build complex validation checks for incoming requests.