Abstracted authentication