@@ -84,3 +84,58 @@ by the ``ClientManager`` object.
8484
8585 * if ``--os-auth-url `` is not supplied for any of the types except
8686 Token/Endpoint, exit with an error.
87+
88+ Authenticating using Identity Server API v3
89+ -------------------------------------------
90+
91+ To authenticate against an Identity Server API v3, the
92+ ``OS_IDENTITY_API_VERSION `` environment variable or
93+ ``--os-identity-api-version `` option must be changed to ``3 ``, instead of the
94+ default ``2.0 ``. Similarly ``OS_AUTH_URL `` or ``os-auth-url `` should also be
95+ updated.
96+
97+ .. code-block :: bash
98+
99+ $ export OS_IDENTITY_API_VERSION=3 (Defaults to 2.0)
100+ $ export OS_AUTH_URL=http://localhost:5000/v3
101+
102+ Since Identity API v3 authentication is a bit more complex, there are additional
103+ options that may be set, either as command line options or environment
104+ variables. The most common case will be a user supplying both user name and
105+ password, along with the project name; previously in v2.0 this would be
106+ sufficient, but since the Identity API v3 has a ``Domain `` component, we need
107+ to tell the client in which domain the user and project exists.
108+
109+ If using a user name and password to authenticate, specify either it's owning
110+ domain name or ID.
111+
112+ * ``--os-user-domain-name `` or ``OS_USER_DOMAIN_NAME ``
113+
114+ * ``--os-user-domain-id `` or ``OS_USER_DOMAIN_ID ``
115+
116+ If using a project name as authorization scope, specify either it's owning
117+ domain name or ID.
118+
119+ * ``--os-project-domain-name `` or ``OS_PROJECT_DOMAIN_NAME ``
120+
121+ * ``--os-project-domain-id `` or ``OS_PROJECT_DOMAIN_ID ``
122+
123+ If using a domain as authorization scope, set either it's name or ID.
124+
125+ * ``--os-domain-name `` or ``OS_DOMAIN_NAME ``
126+
127+ * ``--os-domain-id `` or ``OS_DOMAIN_ID ``
128+
129+ Note that if the user and project share the same domain, then simply setting
130+ ``os-default-domain `` or ``OS_DEFAULT_DOMAIN `` is sufficient.
131+
132+ Thus, a minimal set of of environment variables would be:
133+
134+ .. code-block :: bash
135+
136+ $ export OS_IDENTITY_API_VERSION=3
137+ $ export OS_AUTH_URL=http://localhost:5000/v3
138+ $ export OS_DEFAULT_DOMAIN=default
139+ $ export OS_USERNAME=admin
140+ $ export OS_PASSWORD=secret
141+ $ export OS_PROJECT_NAME=admin
0 commit comments