A flexible providers authentication for Rails