Implement password caching and offline auth backend