Skip to content

Commit 33313ea

Browse files
Jenkinsopenstack-gerrit
authored andcommitted
Merge "Add a doc about authenticating against v3"
2 parents 61579a5 + 7628510 commit 33313ea

1 file changed

Lines changed: 55 additions & 0 deletions

File tree

‎doc/source/authentication.rst‎

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)