Add LoginProvider and tests