summaryrefslogtreecommitdiffstats
path: root/build/osc_auth_fix.diff
blob: 29aee3f8b77911c3e31815159686b26cb7753bf9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
From fc370104156810cb4f65a3235d6bf6ab65f028bd Mon Sep 17 00:00:00 2001
From: Boris Bobrov <bbobrov@mirantis.com>
Date: Thu, 17 Nov 2016 13:46:21 +0300
Subject: [PATCH] Use project_domain_id only in password auth

The method being changed constructs domain-related parameters that will
further be passed to the auth plugin. If project domain is not
passed, the method sets it to the default domain.

token_endpoint does not expect any information about domain,
because it uses only a token and URL. Passing it to auth plugin causes
an exception.

Construct domain-related parameters only for specific plugins, such
as password or totp.

Change-Id: I13db3bbe31a0ed843e9f4528d37c768546e2bee9
Closes-Bug: 1642301
(cherry picked from commit e51a8d63747932f2ee4ffab02dfb0cd43e4a103d)
---

diff --git a/openstackclient/common/client_config.py b/openstackclient/common/client_config.py
index 895909e..e23b07b 100644
--- a/openstackclient/common/client_config.py
+++ b/openstackclient/common/client_config.py
@@ -148,6 +148,7 @@
             # present, then do not change the behaviour. Otherwise, set the
             # PROJECT_DOMAIN_ID to 'OS_DEFAULT_DOMAIN' for better usability.
             if (
+                    auth_type in ("password", "v3password", "v3totp") and
                     not config['auth'].get('project_domain_id') and
                     not config['auth'].get('project_domain_name')
             ):