auth: Continuing extracting auth implementation to interfaces