def _generate_state_token(self, length=32):
        """Generate CSRF State Token.

        CSRF State Tokens are passed as a parameter in the authorization
        URL and are checked when receiving responses from the Uber Auth
        server to prevent request forgery.
        """
        choices = ascii_letters + digits
        return ''.join(SystemRandom().choice(choices) for _ in range(length))