code: def response_token_setter(remote, resp):
      
      if resp is None:
          raise OAuthRejectedRequestError('User rejected request.', remote, resp)
      else:
          if 'access_token' in resp:
              return oauth2_token_setter(remote, resp)
          elif 'oauth_token' in resp and 'oauth_token_secret' in resp:
              return oauth1_token_setter(remote, resp)
          elif 'error' in resp:
              # Only OAuth2 specifies how to send error messages
              raise OAuthClientError(
                  'Authorization with remote service failed.', remote, resp,
              )
      raise OAuthResponseError('Bad OAuth authorized request', remote, resp)
docs: Extract token from response and set it for the user.
  
      :param remote: The remote application.
      :param resp: The response.
      :raises invenio_oauthclient.errors.OAuthClientError: If authorization with
          remote service failed.
      :raises invenio_oauthclient.errors.OAuthResponseError: In case of bad
          authorized request.
      :returns: The token.