Plugin Architecture for Authentication