Please use a compatible browser :Google Chrome or Mozilla Firefox
Page expired. Any change will be lost. Try to refresh the page.
Gazelle update scheduled, unsaved changes will be lost :
Your session will timeout :
Redeployed...
Logged out...
The server is restarting. Any change will be lost.
 

Test : CHXUA_X_SERV_USR_AUTH_USR

Test Summary

Id
13352
Keyword
CHXUA_X_SERV_USR_AUTH_USR
Name
CHXUA_X_SERV_USR_AUTH_USR
Version
1.1
Test Author
wbars
Last modifier
vhofman
Status
ready
Type
master type
Is external tool ?
Is Orchestrable
is Validated ?
Peer Type
No Peer
Test validated by
NicolasBailliet
Short Description
Verify X-Service User is able to initiate and run a valid CH:XUA Authenticate User transaction with the simulated User Authentication Provider using the artifact binding.
Last changed
4/11/24 8:57:39 AM

Test Description in English

Special Instructions

WARNING : X-Service User must be already registered in the IdP Simulator for this test case.

User Authentication Provider (IdP) configuration (entityIDs, metadata, SSO endpoints, Artifact resolution endpoints, Testing users registered in the IdP) is available here (IdP simulator tab).

TLS must be used.

The monitor must collect the evidences directly on the machine (see the Evaluation section for more details).

Description

The goal of this test is to verify that the X-Service User is able to perform a valid CH:XUA Authenticate User transaction with a User Authentication Provider (IdP) using the Direct RP initiated transaction with SAML HTTP POST or Redirect binding, alongside Artifact Binding.

Proceedings

  1. The X-Service-User operator will try to access a protected resource that requires user authentication.
  2. The X-Service-User will then send an SAML Authentication request to the User Authentication Provider (IdP) and be redirected to the user credential form.
  3. The X-Service-User operator will input the credentials and validate the form.
  4. The User Authentication Provider (IdP) will create an authentication token (assertion) and deliver the artifact ID to the X-Service-User.
  5. The X-Service-User will then request for the artifact resolution to the User Authentication Provider (IdP)
  6. And the User Authentication Provider (IdP) will return the previously created assertion and authentication response to the X-Service-User.
  7. Finally the X-Service User will allow the operator to access the requested resource.

Evidences

Alongside this process please collect the following evidences :

  • EntityID of both parties and their endpoints
  • Screenshot of the X-Service User application when not logged in
  • The SAML authentication request
  • Screenshot of the IdP credentials form/challenge
  • The HTTP Redirect or HTML form POST response containing the artifact Id
  • The Artifact Resolve request
  • The Artifact Resolve response
  • Screenshot of the X-Service User application while logged in and accessing the protected resource

Input those evidences in the right tests step and mark the test to be verified.

Live demo

A good demonstration :

  1. Shows what a user not logged in can access in your system.
  2. Asks for login or for a protected resource
  3. Shows that the user is redirected on the IdP authentication form.
  4. Once input, shows the user is well logged in and can access the requested resource or is able to perform more actions.
  5. If possible for your logging system, you can also show live request/responses

Evaluation

Monitor will evaluate the test on several points

  1. All requested evidences must have been uploaded on the right test steps. To collect the evidences, the monitor must connect to the platform's server using ssh and find the four following messages in /opt/shibboleth-idp/logs/idp-process.log :
  2. AuthnRequest
    • ProtocolBinding must be "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact"
    • Destination (if present) must be IdP SSO endpoint.
    • Issuer must be the X-Service User entityID
    • Please note the AuthnRequest ID to compare it with the inResponseTo in the SAML response.
    • Please note the AssertionConsumerServiceURL for later use in HTTP Redirect or HTML from POST. 
  3. HTTP Redirect or HTML form POST (issued by IdP as response to the credential POST)
    • The Location (HTTP Redirect) or the HTML form action (HTML form POST) must be the X-Service User Assertion Consumer endpoint as defined using AssertionConsumerServiceURL in the AuthRequest
    • The Location must have the SAMLart as query parameter (HTTP Redirect) or the HTML form must have an hidden input SAMLart (HTTP form POST)
    • Please Note the SAMLart (artifact Id) value to compare it with the Artifact in the ArtifactResolveRequest.
  4. ArtifactResolveRequest
    • Destination must be IdP artifact resolution endpoint
    • Issuer must be the X-Service User entityID
    • Artifact must be the artifact Id.
    • Please note the ArtifactResolveRequest ID to compare it with the inResponseTo in the ArtifactResolveResponse
  5. ArtifactResolveResponse
    • ArtifactResolveResponse inResponseTo must be ArtifactResolveRequest ID
    • The ArtifactResolveResponse Issuer may be present, if so it must be the IdP entityID
    • ArtifactResolveResponse must contains the SAML Response to the initial authentication request.
    • The SAML Response inResponseTo must be AuthnRequest ID
    • The SAML Response Issuer must be IdP EntityID
    • The SAML Response must have StatusCode Value equals to urn:oasis:names:tc:SAML:2.0:status:Success
    • The SAML Response must contain an SAML Assertion
    • The SAML Assertion Issuer must be the IdP EntityID
    • The SAML Assertion SHALL be signed
    • The SAML Assertion Conditions must have the notBefore attribute equivalent to the Assertion IssueInstant attribute and the NotOnOrAfter attribute that gives at longest 5 minutes of validity.
    • The SAML Assertion Attribute statement must contain :
      • familyname
      • firstname
      • gender
      • dateofbirth
      • identno
  6. Monitor should request a live demo to the X-Service User operator. It must be a successful authentication with access to resources granted, and what is seen in the demo must match the content of the uploaded screenshots.

Test Roles

Keyword
# to realize
Card Min
Card Max
Optionality
URL
URL Doc
X-SERVICE-USER_CH-XUA
Integration profileActorOptionIs tested ?
Keyword
Keyword
Keyword
Keyword
IntegrationProfile CH:XUA-Cross-Enterprise User Assertion Swiss ExtensionActor X-SERV-USR-X-Service UserNONEtrue
111Required
IdP_USER_AUTHENTICATION_PROVIDER_SIMU
Integration profileActorOptionIs tested ?
Keyword
Keyword
Keyword
Keyword
IntegrationProfile CH:XUA-Cross-Enterprise User Assertion Swiss ExtensionActor IdP-User Authentication ProviderNONEfalse
111Required

Test Steps


Step Index
Initiator Role
Responder Role
Transaction
Secured
Message Type
Option
Description
Assertions
10X-SERVICE-USER_CH-XUAX-SERVICE-USER_CH-XUAProofRequired[EVIDENCE] X-Service User operator provides in this step its system SAML entityID, its Assertion Consumer Endpoint with protocol and the user principal used for this test (please use hostnames).
30X-SERVICE-USER_CH-XUAX-SERVICE-USER_CH-XUAProofRequired[EVIDENCE] X-Service User operator provides in this step a screenshot of its application being NOT logged in.
40X-SERVICE-USER_CH-XUAIdP_USER_AUTHENTICATION_PROVIDER_SIMUCH:XUA Authenticate UserSAML AuthnRequestRequired[TRANSACTION] X-Service User operator triggers the CH:XUA Authenticate User transaction by requesting a protected resource or directly asking for authentication
50X-SERVICE-USER_CH-XUAX-SERVICE-USER_CH-XUAProofRequired[EVIDENCE] Attach here the SAML AuthnRequest
60X-SERVICE-USER_CH-XUAX-SERVICE-USER_CH-XUAProofRequired[EVIDENCE] X-Service User operator provides in this step a screenshot of the IdP credentials form to which he/she has been redirected.
65X-SERVICE-USER_CH-XUAX-SERVICE-USER_CH-XUAProofRequired[EVIDENCE] Attach here the HTTP Redirect or HTML form POST response sent by the IdP after the credential input. Provide the full URL including the endpoint and the SAMLart parameter in text form (no screenshots). This parameter has to be URL decoded in order to verify it in the ArtifactResolve request.
70X-SERVICE-USER_CH-XUAX-SERVICE-USER_CH-XUAProofRequired[EVIDENCE] Attach here the ArtifactResolve request
80X-SERVICE-USER_CH-XUAX-SERVICE-USER_CH-XUAProofRequired[EVIDENCE] Attach here the ArtifactResolve response
90X-SERVICE-USER_CH-XUAX-SERVICE-USER_CH-XUAProofRequired[EVIDENCE] X-Service User operator provides in this step a screenshot of its application while authenticated or accessing the initially requested resource.

Tool index

    Copyright IHE 2024
  • Gazelle 7.1.7
Back to top