docs: def login_url(self, params=None, **kwargs):
          """
          Return login url with params encoded in state
  
          Available Google auth server params:
          response_type: code, token
          prompt: none, select_account, consent
          approval_prompt: force, auto
          access_type: online, offline
          scopes: string (separated with commas) or list
          redirect_uri: string
          login_hint: string
          """
          kwargs.setdefault('response_type', 'code')
          kwargs.setdefault('access_type', 'online')
  
          if 'prompt' not in kwargs:
              kwargs.setdefault('approval_prompt', 'auto')
  
          scopes = kwargs.pop('scopes', self.scopes.split(','))
          if USERINFO_PROFILE_SCOPE not in scopes:
              scopes.append(USERINFO_PROFILE_SCOPE)
  
          redirect_uri = kwargs.pop('redirect_uri', self.redirect_uri)
          state = self.sign_params(params or {})
  
          return GOOGLE_OAUTH2_AUTH_URL + '?' + urlencode(
              dict(client_id=self.client_id,
                   scope=' '.join(scopes),
                   redirect_uri=redirect_uri,
                   state=state,
                   **kwargs))