async def METHOD_NAME(self, addon: Addon, username: str, password: str) -> bool:
    """Check username login."""
    if password is None:
        raise AuthError("None as password is not supported!", _LOGGER.error)
    _LOGGER.info("Auth request from '%s' for '%s'", addon.slug, username)
    # Get from cache
    cache_hit = self._check_cache(username, password)
    # Check API state
    if not await self.sys_homeassistant.api.check_api_state():
        _LOGGER.info("Home Assistant not running, checking cache")
        return cache_hit is True
    # No cache hit
    if cache_hit is None:
        return await self._backend_login(addon, username, password)
    # Home Assistant Core take over 1-2sec to validate it
    # Let's use the cache and update the cache in background
    if username not in self._running:
        self._running[username] = self.sys_create_task(
            self._backend_login(addon, username, password)
        )
    return cache_hit