 )
        state_store = (
            SQLite3OAuthStateStore(database=database, expiration_seconds=state_expiration_seconds)
            if logger is None
            else SQLite3OAuthStateStore(database=database, expiration_seconds=state_expiration_seconds, logger=logger)
        )
        return OAuthFlow(
            client=client or WebClient(),
            logger=logger,
            settings=OAuthSettings(
                # OAuth flow parameters/credentials
                client_id=client_id,
       