keystone/api-ref/source/v3-ext/federation/identity-provider/idp.inc

344 lines
8.1 KiB
ReStructuredText

.. -*- rst -*-
Register an Identity Provider
=============================
.. rest_method:: PUT /v3/OS-FEDERATION/identity_providers/{id}
Relationship: ``https://docs.openstack.org/api/openstack-identity/3/ext/OS-FEDERATION/1.0/rel/identity_provider``
Normal response codes: 201
Error response codes: 409
Request
-------
.. rest_parameters:: federation/identity-provider/parameters.yaml
- domain_id: domain_id
- description: description
- enabled: enabled
- id: id_path
- remote_ids: remote_ids
As a domain may only be associated to a single Identity Provider, a 409 response code will be
returned if the specified ``domain_id`` already maps an existing Identity Provider.
Request Example
---------------
.. literalinclude:: federation/identity-provider/samples/register-request.json
:language: javascript
Response
--------
.. rest_parameters:: federation/identity-provider/parameters.yaml
- domain_id: domain_id
- description: description
- enabled: enabled
- id: id_body
- links: links
- remote_ids: remote_ids
Response Example
----------------
.. literalinclude:: federation/identity-provider/samples/register-response.json
:language: javascript
List identity providers
=======================
.. rest_method:: GET /v3/OS-FEDERATION/identity_providers
Relationship: ``https://docs.openstack.org/api/openstack-identity/3/ext/OS-FEDERATION/1.0/rel/identity_providers``
Normal response codes: 200
Request
-------
.. rest_parameters:: federation/identity-provider/parameters.yaml
- id: id_query
- enabled: enabled_query
Response
--------
.. rest_parameters:: federation/identity-provider/parameters.yaml
- identity_providers: identity_providers
Response Example
----------------
.. literalinclude:: federation/identity-provider/samples/list-response.json
:language: javascript
Get Identity provider
=====================
.. rest_method:: GET /v3/OS-FEDERATION/identity_providers/{id}
Relationship: ``https://docs.openstack.org/api/openstack-identity/3/ext/OS-FEDERATION/1.0/rel/identity_provider``
Normal response codes: 200
Request
-------
.. rest_parameters:: federation/identity-provider/parameters.yaml
- id: id_path
Response
--------
.. rest_parameters:: federation/identity-provider/parameters.yaml
- domain_id: domain_id
- description: description
- enabled: enabled
- id: id_body
- links: links
- remote_ids: remote_ids
Response Example
----------------
.. literalinclude:: federation/identity-provider/samples/get-response.json
:language: javascript
Delete identity provider
========================
.. rest_method:: DELETE /v3/OS-FEDERATION/identity_providers/{id}
Relationship: ``https://docs.openstack.org/api/openstack-identity/3/ext/OS-FEDERATION/1.0/rel/identity_provider``
When an identity provider is deleted, any tokens generated by that identity
provider will be revoked.
Normal response codes: 204
Request
-------
.. rest_parameters:: federation/identity-provider/parameters.yaml
- id: id_path
Update identity provider
========================
.. rest_method:: PATCH /v3/OS-FEDERATION/identity_providers/{id}
Relationship: ``https://docs.openstack.org/api/openstack-identity/3/ext/OS-FEDERATION/1.0/rel/identity_provider``
When an identity provider is disabled, any tokens generated by that identity
provider will be revoked.
Normal response codes: 200
Error response codes: 400, 409
Request
-------
Except ``domain_id``, any attribute of an Identity Provider may be passed in
the request body. To update the ``domain_id``, you will need to delete and
recreate the Identity Provider. If ``domain_id`` is included in the request, a
400 response code will be returned.
.. rest_parameters:: federation/identity-provider/parameters.yaml
- id: id_path
Request Example
---------------
.. literalinclude:: federation/identity-provider/samples/update-request.json
:language: javascript
Response
--------
.. rest_parameters:: federation/identity-provider/parameters.yaml
- domain_id: domain_id
- description: description
- enabled: enabled
- id: id_body
- links: links
- remote_ids: remote_ids
Response Example
----------------
.. literalinclude:: federation/identity-provider/samples/update-response.json
:language: javascript
Add a protocol and attribute mapping to an identity provider
============================================================
.. rest_method:: PUT /v3/OS-FEDERATION/identity_providers/{idp_id}/protocols/{protocol_id}
Relationship: ``https://docs.openstack.org/api/openstack-identity/3/ext/OS-FEDERATION/1.0/rel/identity_provider_protocol``
Normal response codes: 201
Error response codes: 400
Request
-------
.. rest_parameters:: federation/identity-provider/parameters.yaml
- idp_id: id_path
- protocol_id: protocol_id
- protocol: protocol
Request Example
---------------
.. literalinclude:: federation/identity-provider/samples/add-protocol-request.json
:language: javascript
Response
--------
.. rest_parameters:: federation/identity-provider/parameters.yaml
- protocol: protocol
Response Example
----------------
.. literalinclude:: federation/identity-provider/samples/add-protocol-response.json
:language: javascript
List all protocol and attribute mappings of an identity provider
================================================================
.. rest_method:: GET /v3/OS-FEDERATION/identity_providers/{id}/protocols
Relationship: ``https://docs.openstack.org/api/openstack-identity/3/ext/OS-FEDERATION/1.0/rel/identity_provider_protocols``
Normal response codes: 200
Request
-------
.. rest_parameters:: federation/identity-provider/parameters.yaml
- id: id_path
Response
--------
.. rest_parameters:: federation/identity-provider/parameters.yaml
- protocols: protocols
- links: protocols_links
Response Example
----------------
.. literalinclude:: federation/identity-provider/samples/list-protocol-response.json
:language: javascript
Get a protocol and attribute mapping for an identity provider
=============================================================
.. rest_method:: GET /v3/OS-FEDERATION/identity_providers/{idp_id}/protocols/{protocol_id}
Relationship: ``https://docs.openstack.org/api/openstack-identity/3/ext/OS-FEDERATION/1.0/rel/identity_provider_protocol``
Normal response codes: 200
Request
-------
.. rest_parameters:: federation/identity-provider/parameters.yaml
- idp_id: id_path
- protocol_id: protocol_id
Response
--------
.. rest_parameters:: federation/identity-provider/parameters.yaml
- protocol: protocol
Response Example
----------------
.. literalinclude:: federation/identity-provider/samples/get-protocol-response.json
:language: javascript
Update the attribute mapping for an identity provider and protocol
==================================================================
.. rest_method:: PATCH /v3/OS-FEDERATION/identity_providers/{idp_id}/protocols/{protocol_id}
Relationship: ``https://docs.openstack.org/api/openstack-identity/3/ext/OS-FEDERATION/1.0/rel/identity_provider_protocol``
Normal response codes: 200
Error response codes: 400
Request
-------
.. rest_parameters:: federation/identity-provider/parameters.yaml
- idp_id: id_path
- protocol_id: protocol_id
- protocol: protocol
Request Example
---------------
.. literalinclude:: federation/identity-provider/samples/update-protocol-request.json
:language: javascript
Response
--------
.. rest_parameters:: federation/identity-provider/parameters.yaml
- protocol: protocol
Response Example
----------------
.. literalinclude:: federation/identity-provider/samples/update-protocol-response.json
:language: javascript
Delete a protocol and attribute mapping from an identity provider
=================================================================
.. rest_method:: DELETE /v3/OS-FEDERATION/identity_providers/{idp_id}/protocols/{protocol_id}
Relationship: ``https://docs.openstack.org/api/openstack-identity/3/ext/OS-FEDERATION/1.0/rel/identity_provider_protocol``
Normal response codes: 204
Request
-------
.. rest_parameters:: federation/identity-provider/parameters.yaml
- idp_id: id_path
- protocol_id: protocol_id