summaryrefslogtreecommitdiffstats
path: root/docs/simplesamlphp-metadata-endpoints.md
blob: 9bca9088db0db348b6d3a4ecd37cc03b0f5b827d (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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
Metadata endpoints
==================

This document gives a short introduction to the various methods forms metadata endpoints can take in SimpleSAMLphp.

The endpoints we have are:

Endpoint                       | Indexed | Default binding
-------------------------------|---------|----------------
`ArtifactResolutionService`    | Y       | SOAP
`AssertionConsumerService`     | Y       | HTTP-POST
`SingleLogoutService`          | N       | HTTP-Redirect
`SingleSignOnService`          | N       | HTTP-Redirect


The various endpoints can be specified in three different ways:

  * A single string.
  * Array of strings.
  * Array of arrays.


A single string
---------------

    'AssertionConsumerService' => 'https://sp.example.org/ACS',

This is the simplest endpoint format.
It can be used when there is only a single endpoint that uses the default binding.


Array of strings
----------------

    'AssertionConsumerService' => array(
        'https://site1.example.org/ACS',
        'https://site2.example.org/ACS',
    ),

This endpoint format can be used to represent multiple endpoints, all of which use the default binding.


Array of arrays
---------------

    'AssertionConsumerService' => array(
        array(
            'index' => 1,
            'isDefault' => TRUE,
            'Location' => 'https://sp.example.org/ACS',
            'Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST',
        ),
        array(
            'index' => 2,
            'Location' => 'https://sp.example.org/ACS',
            'Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact',
        ),
    ),

This endpoint format allows for specifying multiple endpoints with different bindings.
It can also be used to specify the ResponseLocation attribute on endpoints, e.g. on `SingleLogoutService`:

    'SingleLogoutService' => array(
        array(
            'Location' => 'https://sp.example.org/LogoutRequest',
            'ResponseLocation' => 'https://sp.example.org/LogoutResponse',
            'Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect',
        ),
    ),