Delegate STS with External IdP

OGC 07-118r9 34 Copyright © 2014 Open Geospatial Consortium wst:RequestType http:docs.oasis-open.orgws-sxws-trust200512Issue wst:RequestType wsse:UsernameToken wsse:Username JohnDoe wsse:Username wsse:UsernameToken wst:RequestSecurityToken

6.4.3.4 Delegate STS with External IdP

The present case is in essence similar to the Local STS with External IdP case for the first part and to the Delegate STS as IdP case for the second part. For this present case, the RST with signature is used. It contains a “DelegateTo” element containing a wsa:Address with an identifier URI for the delegate STS. A mapping table between identifiers and supported external STS URLs shall be maintained by the local STS. No delegation is performed if the identifier is not configured in this table. Figure 8: Delegate STS with External IdP Scenario: 1. An authentication request is sent to the external IdP authentication mechanism specific to Web-SSO system used, out of scope of the present Best Practice. 2. The external IdP verifies the user identity specific to Web-SSO system used. 3. The authentication response is returned to the Client specific to Web-SSO system used. OGC 07-118r9 35 Copyright © 2014 Open Geospatial Consortium 4. If the authentication was successful, the Client prepares an RST with the user id no password and a WS-Trust “DelegateTo” element; the Client signs it with its private key. 5. The RST with signature is sent to the local delegating STS using SOAP over HTTPS. 5 b . Optionally 14 , the delegating STS verifies the signature of the RST, based on the set of registered clients public keys stored beforehand in the STS keystore, as trusted Clients; this succeeds. The delegating STS then removes the signature and re-signs the RST with its own private key. It may also convey the Client’s identifier e.g. urn:ceos:def:epr:esa-cds:1.0:portal-1 to the delegate STS in the “OnBehalfOf” element. 6. The delegating STS sees that an identifier of external STS is specified in the RST in the WS-Trust “DelegateTo” element; it redirects the RST to the designated external delegate STS. The URL of this IdP is extracted from the mapping table previously described. 7. The delegate STS verifies the signature of the RTS, based on the set of registered clients public keys stored beforehand in delegate STS keystore, as trusted Clients or, optionally step 5 b , based on the delegating STS’s public key ; this succeeds. 8. The delegate STS creates the SAML token using the attributes retrieved from the user registry. 9. The RSTR containing the SAML token, unsigned and in clear, is returned to delegating STS, through SOAP over HTTPS. 10. The delegating STS signs the SAML token using its private key. 11. The delegating STS encrypts the SAML token with the Relying Partys public key see subsection 6.4.1.1 for the process of key retrieval. 12. The RSTR containing the signed and encrypted SAML token is returned to the Client using SOAP over HTTPS. The steps 7, 8 and 9 in the above scenario require that the external STS acts as a delegate STS, to ensure that the SAML token is returned in clear and unsigned. For that purpose, the decision tree presented in 6.4.3.2 shall be used. 14 To avoid the configuration of public keys on all the delegate STS whenever a new Client is added. OGC 07-118r9 36 Copyright © 2014 Open Geospatial Consortium

6.4.4 Service Request