'Auth parameters to be passed to the token request
Fields available in Credentials are passed to the token request,
depending on the value of scope. Valid values for scope are: "project",
"domain". Any other string (e.g. "unscoped") or None will lead to an
unscoped token request.'

def _auth_params(self):

    auth_params = dict(user_id=self.credentials.user_id, username=self.credentials.username, user_domain_id=self.credentials.user_domain_id, user_domain_name=self.credentials.user_domain_name, password=self.credentials.password, auth_data=True)
    if (self.scope == 'project'):
        auth_params.update(project_domain_id=self.credentials.project_domain_id, project_domain_name=self.credentials.project_domain_name, project_id=self.credentials.project_id, project_name=self.credentials.project_name)
    if (self.scope == 'domain'):
        auth_params.update(domain_id=self.credentials.domain_id, domain_name=self.credentials.domain_name)
    return auth_params
