The Authentication API enables both basic authentication and privacy functionality and simplifies access to your website for Orange users by allowing them to use their existing Orange account credentials. It also allows you - through your website - to access profile information of an Orange France customer..
The Authentication API is compliant with SAML v2 protocol.
The Security Assertion Markup Language (SAML) is an XML standard for exchanging authentication and authorisation data between security domains, that is, between an identity provider (a producer of assertions) and a service provider (a consumer of assertions).
SAML is a set of specifications produced by OASIS which is a major standardisation body in web services field. The complete SAML v2 is complex but you will not need to fully implement it as the Authentication API is based on the simplest SAML v2 profile (SAML v2 Web SSO profile).
You just need to create the SAML request using existing libraries or directly using XML document creation, and for the SAML response, you just have to parse the XML document to get the information you need.
Note that if you are already interfaced with the Authentication API for another purpose (e.g. to retrieve a user token to call PersonalAPIs and/or delegate Orange's user authentication to Orange platform), you just need to add an additional parameter in the authentication requests you send to Orange using the Authentication API.
Replace IDP_SingleSignOnURL in the examples with one of the following endpoints.
| Country (MCO) | Environment | Endpoint |
|---|---|---|
|
France
|
Production
|
|
|
Integration
|
||
|
UK
|
Production
|
|
|
Integration
|
||
|
All countries (mobile access only) |
Production
|
|
|
Integration
|
Replace IDP_Certificate in the examples with one of the following certificates.
| Environment | Certificate |
|---|---|
|
Production
|
-----BEGIN CERTIFICATE-----
MIIE4TCCA8mgAwIBAgIBAjANBgkqhkiG9w0BAQQFADCBqzELMAkGA1UEBhMCRlIx DDAKBgNVBAgTA04vQTEQMA4GA1UEBxMHTGFubmlvbjEXMBUGA1UEChMORnJhbmNl IFRlbGVjb20xFDASBgNVBAsTC09yYW5nZSBMYWJzMRswGQYDVQQDExJBdXRoZW50 aWNhdGlvbiBBUEkxMDAuBgkqhkiG9w0BCQEWIWdhZWwuZ291cm1lbGVuQG9yYW5n ZS1mdGdyb3VwLmNvbTAeFw0wODAyMjExMjA3MThaFw0xODAyMTgxMjA3MThaMIGr MQswCQYDVQQGEwJGUjEMMAoGA1UECBMDTi9BMRAwDgYDVQQHEwdMYW5uaW9uMRcw FQYDVQQKEw5GcmFuY2UgVGVsZWNvbTEUMBIGA1UECxMLT3JhbmdlIExhYnMxGzAZ BgNVBAMTEkF1dGhlbnRpY2F0aW9uIEFQSTEwMC4GCSqGSIb3DQEJARYhZ2FlbC5n b3VybWVsZW5Ab3JhbmdlLWZ0Z3JvdXAuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOC AQ8AMIIBCgKCAQEA4Qdfv/IlnrAfqr+41ya0WQWsDP6hFgfLNlfdFMQmqBtPrTcs Jy2gK3D7nSqfQCOOTasjr5XKlL4lBDD/iMZcHt+7MnCpPUMQtIDtUPnstHg8ZGct I8Bzazw7bnwcf9/itA+eBkI3ujaeUHLn/q139oO9+zt3wTgUR0ONU6hCEzb8igUB 2d/I6rjELU/s1NYIfFbvxHhzd8+qFjlS/0OjxHZXVrZfxKwfK8zLbfh73Mrl+PvH kXhwy6Tl9qbrJgQsTstRhCjSue8LncclRih7Y52AMepZKr1dkS2VT8sdk+BFwu8X OIbhEEsZs/uSwCm65g7vLjQqBREdj+goDlAEgQIDAQABo4IBDDCCAQgwHQYDVR0O BBYEFA8kJ6TLJ/UF+rJ1eWXh8zBuiFLwMIHYBgNVHSMEgdAwgc2AFA8kJ6TLJ/UF +rJ1eWXh8zBuiFLwoYGxpIGuMIGrMQswCQYDVQQGEwJGUjEMMAoGA1UECBMDTi9B MRAwDgYDVQQHEwdMYW5uaW9uMRcwFQYDVQQKEw5GcmFuY2UgVGVsZWNvbTEUMBIG A1UECxMLT3JhbmdlIExhYnMxGzAZBgNVBAMTEkF1dGhlbnRpY2F0aW9uIEFQSTEw MC4GCSqGSIb3DQEJARYhZ2FlbC5nb3VybWVsZW5Ab3JhbmdlLWZ0Z3JvdXAuY29t ggECMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEEBQADggEBACGAgPnND6en/Ye8 50x6JSMu5d1Sd4EJFtWDoDdoiJGrJGbvrqM1beEFYdbZvafU+NtXf9mdy5dYwgsS JEY86jhAp63fqGaYXjMenAEsNXQVbhWFd3KEOCLA6mE1LuCbOMbSuwIePETLZjpZ lPgiBoWu3FTbk0q5/1lqMRllDElfpckOK2n8MsH6j53Hndw7E+M5f0XFRx8edZZU q6qBOguDFWbfBCY3Eh/odaL0L/mGpVXVGGdgTaX23Jc4yJilYX36nwuaZgGZvyfB XjFq+ValmkO1qXLHFgk9MKG7RpB4tr5BmmkxXLgL3ucR4L1o5JpFssXxgY7ZGv04 XENoj7o= -----END CERTIFICATE----- |
|
Integration
|
-----BEGIN CERTIFICATE-----
MIIDKTCCApKgAwIBAgIGAR9x+wRQMA0GCSqGSIb3DQEBBQUAMGAxFzAVBgNVBAoT DkZyYW5jZSBUZWxlY29tMRMwEQYDVQQDEwpUZXN0U2l0ZUlEMTAwLgYJKoZIhvcN AQkBFiFnYWVsLmdvdXJtZWxlbkBvcmFuZ2UtZnRncm91cC5jb20wHhcNMDcxMDA0 MTQ0NzUzWhcNMTcxMDAxMTQ0NzUzWjBgMRcwFQYDVQQKEw5GcmFuY2UgVGVsZWNv bTETMBEGA1UEAxMKVGVzdFNpdGVJRDEwMC4GCSqGSIb3DQEJARYhZ2FlbC5nb3Vy bWVsZW5Ab3JhbmdlLWZ0Z3JvdXAuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB iQKBgQDUcgjaY7tqLy+dNQJMUVChHrMjzOpWEi370gOXB2Cy/xiPpSGhfDLbs9sK Sn9Cpw93mublOhvwQlEWS2SwYpSfqpARiqOyFAoeclyoxCz8JTsjbZD/NsqW4gCw JfcY3t7buEaO8rwTj2DDuIadbFMZOLr7KmMezHqwd6CNiXXCeQIDAQABo4HtMIHq MBYGCWCGSAGG+EIBDQQJFgdbR0ddIENBMB0GA1UdDgQWBBT9bZlATmC57VbMjxrl 2hfbna82UDCBjwYDVR0jBIGHMIGEgBT9bZlATmC57VbMjxrl2hfbna82UKFkpGIw YDEXMBUGA1UEChMORnJhbmNlIFRlbGVjb20xEzARBgNVBAMTClRlc3RTaXRlSUQx MDAuBgkqhkiG9w0BCQEWIWdhZWwuZ291cm1lbGVuQG9yYW5nZS1mdGdyb3VwLmNv bYIGAR9x+wRQMBIGA1UdEwEB/wQIMAYBAf8CAQAwCwYDVR0PBAQDAgEGMA0GCSqG SIb3DQEBBQUAA4GBAAEKb9PQR9IdSM8XRR9jaZF/FWjY7WDX17TUaehHl8JcfuNA wmoBDCiUmcc2rutw/bRKUSxGvx4UUSYzVBIONjUzJU8LHVIDotzJxOnIXG7ZQz8y mv9b9Ywhr7NGRQ8MYy6BIztlniPOr/P7VE0C0azHe+er5slu+FYtJ0qyumT3 -----END CERTIFICATE----- |
The authentication request is sent to the Orange Identity provider via the browser, based on an HTTP 302 redirection.
Please note that the SAML request has to be zipped with DEFLATE and then sent as a Base64-encoded URL parameter.
In the SAML request, you must add a parameter with a value which indicates the data you would like to retrieve (it is a bitmask on a pre-defined list of data). In the example below, the value "AttributeConsumingServiceIndex=18" will return the user's display name and email address.
Each user profile data matches an ACI (AttributeConsumingServiceIndex).
It is possible to add several ACIs to retrieve user profile data.
Below is an example of a SAML authentication request:
HTTP redirection from user's browser to Orange:
[IDP_SingleSignOnURL]?SAMLRequest=jZAxT8MwFIR3foXlPcROo9i1kkgRXSrBQhEDC3 LNa2qpsVO%2FZ1T%2BPRYsjKx3p%2B9O10%2BZzuEZrhmQ2G25BBx4TsFEix5NsAugI WcO09Ojae6FWVOk6OKFs%2F1u4O8b3Wmw7WkDWyWV6JrGuUa59tQdO6u2wNlElPwxEz zEgHnxYT5A%2BvQO9uEDbgOXmrNXSOhjGHhpKGDEXFwkG6hIQuhKNJXQL7IzUplWvnE2 3vU%2FsfSfzRYREpUCPp6JVlPXyxeu1TzHvv6lFFz994nxGw%3D%3D
Decoded SAML request:
Mapping between attribute names and user profile data:
To retrieve the user's data contained in the SAML response, you simply have to decode the Base64 SAML response received in the HTTP POST request and parse the SAML response (XML document) to find the attributes.
You will retrieve an attribute using the following XPATH expression:
Decoded SAML response:
Configuration
"idpMetadata.php" configuration file (used in the following code examples): # The partner SP must store the metadata to communicate with Orange identity provider.
Use the API to retrieve a user token to call other Personal APIs
PHP code to invoke the Authentication API (redirection via the browser):
PHP code to process the response (and retrieve the user token):
Use the API to simplify access to a website (and thus retrieve an Orange user identifier)
PHP code to invoke the Authentication API (redirection via the browser):
PHP code to process the response:
Use the API to retrieve profile attributes
PHP code to invoke the Authentication API (redirection via the browser):
PHP code to process the response:
Loading...