Move authentication boilerplate to Services::Authenticator