saml 2.0 interop test plan - liberty · pdf fileliberty alliance project version 3.2.2 saml...

53
Test Plan for Liberty Alliance SAML Test Event Test Criteria SAML 2.0 Version 3.2.2 Editor: Kyle Meadors, Drummond Group Inc. Abstract: This document describes the test steps to achieve the Liberty Interoperable™ designation for various SAML 2.0 modes and profiles. Filename: Liberty_Interoperability_SAML_Test_Plan_v3.2.2.odt 1 2 3 4 5 6 7 8 9 10 11

Upload: dangthien

Post on 15-Mar-2018

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Test Plan for Liberty Alliance SAML Test EventTest CriteriaSAML 2.0Version 3.2.2

Editor:

Kyle Meadors, Drummond Group Inc.

Abstract:This document describes the test steps to achieve the Liberty Interoperable™ designation for various SAML 2.0 modes and profiles.

Filename: Liberty_Interoperability_SAML_Test_Plan_v3.2.2.odt

1

2

3

4

5

6

7

89

10

11

Page 2: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

ContentsIntroduction..................................................................................................................................3

Overview of Test Plan.........................................................................................................................3Test Plan History.................................................................................................................................3SAML Conformance Modes................................................................................................................3eGov 1.5 Profile...................................................................................................................................4POST Binding......................................................................................................................................4

Technical Requirements..............................................................................................................5Metadata..............................................................................................................................................5IdP Authentication...............................................................................................................................5Trivial Processing................................................................................................................................5Authentication Contexts.......................................................................................................................5Name Identifier Formats......................................................................................................................6XML Signatures...................................................................................................................................6XML Encryption..................................................................................................................................7Attribute Profiles.................................................................................................................................7Consensus Items..................................................................................................................................7

Test Cases.....................................................................................................................................9Overview of Test Case Description.....................................................................................................9Test Cases Associated with Conformance Modes................................................................................9Test Case A: Web SSO and SLO – Redirect Binding..........................................................................10Test Case B: Web SSO – Artifact Binding and SLO – SOAP Binding................................................12Test Case C – NameID Management – Redirect Binding....................................................................14Test Case D – NameID Management – SOAP Binding.......................................................................17Test Case E – POST Binding...............................................................................................................21Test Case F – IdP Proxy.......................................................................................................................24Test Case G – Name Identifier Mapping..............................................................................................27Test Case H – IDP Introduction...........................................................................................................29Test Case I – Single Session Logout....................................................................................................31Test Case J – Unsolicited <Response> and “Transient” NameID........................................................33Test Case K – Multiple SP Logout......................................................................................................34Test Case L – Force Authentication and Passive Authentication.........................................................37Test Case M – SAML Authentication Authority..................................................................................39Test Case N – SAML Attribute Authority...........................................................................................41Test Case O – SAML Authorization Decision Authority.....................................................................43Test Case P – Error Testing.................................................................................................................45Test Case Q – Requested AuthnContext..............................................................................................47Test Case R – User Consent.................................................................................................................48Test Case S – Assertion Attribute........................................................................................................49Test Case T – Unspecified Format.......................................................................................................50

References.....................................................................................................................................51

Liberty Alliance Project

2

1213141516171819202122232425262728293031323334353637383940414243444546474849505152

Page 3: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

Introduction

Overview of Test PlanThis document is the Liberty SAML 2.0 Test Criteria Test Plan, which contains the scope of the technical requirements for Liberty certification of SAML 2.0. This document is intended to be publicly viewable through the Liberty Alliance website as well as prospective test participants. The document is reviewed and authored by the Technology Expert Group (TEG)

The contents of this document include the test cases for Liberty SAML 2.0 certification as well as additional technical information relevant to testing. The test cases include different test steps, which as a whole cover the requirements of the SAML profiles [SAMLProf] and SAML conformance modes [SAMLConf].

Another document, Liberty SAML 2.0 Process Test Plan, contains the detailed testing process and test administration requirements for the SAML 2.0 certification test. The Liberty SAML 2.0 Process Test Plan is available only to registered test participants. While the Process Test Plan is used in completing a certification event, it is not needed to understand the technical expectation for completing SAML 2.0 certification.

Test Plan HistoryThis test plan replaces SAML 2.0 Interoperability Testing Procedure (vs. 3.1) test plan [SAMLTP31]. The major changes to this version are modifications to the eGov profile and removing the ECP Conformance mode testing requirements. Also, consensus items reached from the last interoperability test event have been included here.

� SAML 2.0 Interoperability Testing Procedure, vs. 3.1 (07/15/2008)

� SAML 2.0 Interoperability Testing Procedure, vs. 3.0.J (11/20/2007)

� SAML 2.0 Interoperability Testing Procedure, vs. 2.0 (07/07/2006)

� SAML 2.0 Interoperability Testing Procedure, vs. 1.0 (2005)

SAML Conformance ModesThis test plan document contains test cases that cover the many of the operational conformance modes of SAML 2.0 and the specific features that are required or optional for each mode. The details of each mode are provided in [SAMLConf], and the conformance modes a listed here:

� IdP – Identity Provider

� IdP Lite – Identity Provider Lite

� SP – Service Provider

� SP Lite – Service Provider Lite

� IdP Extended – Identify Provider Extended

� SP Extended – Service Provider Extended

Liberty Alliance Project

3

53

54

55565758

59606162

6364656667

68

69707172

73

74

75

76

77

787980

81

82

83

84

85

86

Page 4: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

� SAML Attribute Authority (Requester/Responder)

� SAML Authorization Decision Authority (Requester/Responder)

� SAML Authentication Authority (Requester/Responder)

Each conformance mode requires different test cases, but some test cases cover multiple conformance modes. The required test cases for each conformance mode are noted in the Test Case section of this document.

Certification in conformance modes IdP Extended and SP Extended can only be given if a participant has met the certification requirements of IdP mod and SP mode, respectively.

eGov 1.5 ProfileThe eGov 1.5 Profile is a conformance profile developed by Liberty eGovernment SIG . The test cases within this test plan to achieve eGov certification are based on the requirements stated in the eGov 1.5 profile. The eGov 1.5 profile and other associated documents should be consulted for further explanation of the eGov requirements.

http://www.projectliberty.org/liberty/strategic_initiatives/egovernment

POST BindingAlthough the POST binding is not included in the SAML SCR, it is permitted with the SAML specification and has some user deployment. POST Binding is an optional Liberty designation conformance mode. It involves use of POST binding for AuthnRequest, Name ID Management and SLO. Certification in the POST Binding mode is done through successfully completing this TestCase E – POST Binding.

Liberty Alliance Project

4

87

88

89

909192

9394

95

96979899

100

101

102103104105106

Page 5: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

Technical Requirements

MetadataThere are no normative requirements in [SAMLConf] regarding the content or processing of metadata as described in [SAMLMeta]. However, for purposes of this certification event, implementations are required to:

� Furnish correct metadata, and

� Process metadata furnished by other testing partners

While metadata is not specified for SAML Attribute Requesters, interoperability with SAML Authorities is very difficult without it, and for this certification event it is required that SAML Attribute Requesters provide metadata as described in the draft metadata extension specification [SAMLMetaExt].

IdP AuthenticationSAML does not normatively specify any requirements for user authentication at IdP for Web SSO. In fact, user authentication is explicitly described as “out of scope” [SAMLProf]. However, for purposes of interoperability testing, it is required that IdP implementations offer at least one of these authentication methods:

1. HTTP Basic Auth2. HTTP Form Post3. HTTP Get

Similarly, it is required that user agents be able to authenticate using at least one of these methods.

Trivial ProcessingSeveral features specified by SAML (e.g., IdP Proxy) can be implemented such that any request simply returns an error response. While this trivial behavior is, strictly speaking, in conformance with the specifications, it is not meaningful in the context of interoperability testing. Except where explicitly indicated (e.g., for certain Name Identifier formats) all testing steps will require non-trivial responses in order to be deemed successful.

Authentication ContextsSome of the SAML Modes rely on a well-defined ordering of authentication contexts. The SAML specifications do not normatively specify an ordering [SAMLAuthnCxt] and leave the comparison decisions up to the implementation [SAMLCore]. However, for purposes of testing we will arbitrarily define an ordering of authentication contexts to be used in the tests. This arbitrary listing of authentication class URIs, in order of increasing strength, is:

1. any defined authentication context not listed below

2. urn:oasis:names:tc:SAML:2.0:ac:classes:PreviousSession

3. urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocol

4. urn:oasis:names:tc:SAML:2.0:ac:classes:Password

Liberty Alliance Project

5

107

108

109110111

112

113

114115116117

118

119120121122

123124125126

127

128129130131132

133

134135136137138

139

140

141

142

Page 6: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

This ordering should be observed by all implementations testing SAML modes where authentication contexts must be compared. The overall concept of the testing of the Authentication Authority is to create several different assertions using different authentication contexts. Then these are queried using the query terms (“exact”, “better”, “maximum”, “minimum”) and a reference authentication context.

NOTE: Complete implementation of these authentication contexts is not required. These authentication context URIs should simply be asserted in requests and responses to demonstrate interoperability of authentication context processing rules.

Name Identifier FormatsThe following Name Identifier Formats are defined by [SAMLCore]:

1. Unspecified

2. Email

3. X.509 Subject

4. Windows

5. Kerberos

6. Entity

7. Persistent

8. Transient

Every implementation is required to accept messages containing any of these formats, but [SAMLCore] only requires that the last two be processed.

XML SignaturesThe [SAMLConf] does not specifically indicate where XML Signatures are required, but the underlying specifications in [SAMLProf] make signing required for certain profiles. Specifically, these are:

1. Web SSO: The assertion element(s) in the <Response> MUST be signed for the HTTP POST binding.

2. Single Logout: The <LogoutRequest> and <LogoutResponse> MUST be signed for the HTTP redirect binding.

3. Name Identifer Management: The <ManageNameIDRequest> and <ManageNameIDResponse> MUST be signed for the HTTP redirect binding.

Note that when a test step refers to a “signed SAML Response message” this implies the assertion element itself is signed per the requirements in [SAMLProf].

SP and IdP implementations may indicate via metadata a desire for requests or responses to be signed for other bindings than those indicated above. While such stipulations in metadata may not be binding, participants are strongly encouraged to adhere to these requests and may be required to do so to insure interoperability.

Liberty Alliance Project

6

143144145146147

148149150

151

152

153

154

155

156

157

158

159

160

161162

163

164165166

167168

169170

171172

173174

175176177178

Page 7: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

XML Encryption[SAMLConf] stipulates several different encryption algorithms and key transport mechanisms that MUST be implemented. However, these testing procedures do not require demonstration of support for all these combinations and instead rely on successful interoperability as a measure of conformance. Implementations should take care to ensure that elements to be encrypted include any XML namespace prefix declarations so that, when decrypted, the element will remain valid independent of context. One method for achieving this is described in [ExcXMLCan], but other approaches will work.

Note that while the <ds:KeyInfo> and <xenc:EncryptedKey> elements are not required in the SAML specifications or related schemas, these elements MUST be included in messages for interoperability testing. There is no normative mechanism for exchanging these keys out-of-band. The precise location of these elements in the message is underspecified; the most common practice among interoperable SAML implementations is that in each encrypted element there be one <xenc:EncryptedKey> element in parallel with the <xenc:EncryptedData>, and that this <xenc:EncryptedKey> be inferred as the relevant key information for decryption without relying on any references within the subelements. An erratum has been created to clarify this; see PE43 in [SAMLErrata]. For this certification event, this most common practice stated above SHOULD be done.

Finally, encryption coupled with deflation and URL encoding may create URLs that exceed the maximum length supported by some browsers. Consequently, encryption is contraindicated for the MNI HTTP-Redirect testing steps.

Attribute Profiles[SAMLConf] makes no normative statements about which Attribute Profiles in [SAMLProf] are required to be supported by SAML Attribute Authority or a SAML Requestor. These are the profiles described in [SAMLProf] except for X.500/LDAP, which is described in [SAMLLDAP]:

1. Basic

2. X.500/LDAP

3. UUID

4. DCE PAC

5. XACML

Of these, this document only describes testing procedures for the Basic profile, and does not describe any testing procedures regarding the other profiles.

Consensus ItemsConsensus Items contains standards/implementation issues the product test group reached consensus on in previous Liberty test events in order to achieve interoperability among those product test groups. In order to maintain interoperability with previously tested versions, the consensus items will be observed in this test event.

� In an authentication request message, an interoperable implementation must accept a requested authentication context listed in the <RequestedAuthnContext> element if it can

Liberty Alliance Project

7

179

180181182183184185186

187188189190191192193194195196

197198199

200

201202203

204

205

206

207

208

209210

211

212213214215

216217

Page 8: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

meet the authentication context requirements of the specified element and not require that such information be specified out-of-band.

� DSAwithSHA1 signature algorithm not supported. Section 4.1 of [SAMLConf] states that the DSAwithSHA1 signature algorithm, while recommended, is not required by SAML 2.0. Participants are only to use digital certificates with the required RSAwithSHA1 signature algorithm.

� Ignore EncryptionMethod elements in metadata. There is some confusion of interpretation implementation of the EncryptionMethod metadata elements described in Section 2.4.1.1 of [SAMLMeta]. After confirming with OASIS SSTC, EncryptionMethod is to be ignored.

� Encryption with NameIDPolicy and ID Encryption. A question had arisen on interpreting NameIDPolicy from [SAMLCore] in lines 2136-2142. It was decided that if NameIDPolicy of AuthnRequest says ID is to be encrypted, it must be encrypted in the assertion and if NameIDPolicy of AuthnRequest does not state the ID is to be encrypted, the IDP MAY still encrypt the ID based on its policy, specifically its policy with the SP.

� SSL Server-side Authentication Only for SOAP connections. To insure all participants used the same security settings, it was agreed to only use SSL server-side authentication for SOAP connections and not to use SSL client-side authentication.

Liberty Alliance Project

8

218219

220221222223

224225226

227228229230231

232233234

Page 9: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

Test Cases

Overview of Test Case DescriptionEach test case is setup with the first part listing an overview of the test steps in the test case. The second part describes the details of the individual test steps to carry out the test case. The test step overview lists the sequence of test steps along with a general description of the message or action or configuration setting required. The test step details provide more information on the expected test steps.

Test Cases Associated with Conformance ModesIn order to achieve certification in one or more of the Liberty SAML Conformance Modes, the associated test cases must be completed with all test participants with aligning modes. For example, a product testing for an IdP conformance mode must complete Test Cases A, B, C, D, H, I, J, K, L and P against all products testing for a SP conformance mode and SP Lite conformance mode. The specific pairing among participants will be given at the beginning of the certification event. A conformance mode may not require completion of all the test steps in the associated test cases. The individual test cases provide details of test steps that may or must be omitted depending on the conformance mode.

Conformance Mode Test CasesIdP A, B, C, D, H, I, J, K, L, PIdP Extended F, GIdP Lite A, B, H, I, J, K, L, PSP A, B, C, D, H, I, J, K, L, PSP Extended F, GSP Lite A, B, H, I, J, K, L, PPOST E, PSAML Attribute Authority (Requester/Responder)

N

SAML Authorization Decision Authority (Requester/Responder)

O

SAML Authentication Authority (Requester/Responder)

M

eGov 1.5 profile A, B, H, I, J, K, L, P, Q, R, S, T

Liberty Alliance Project

9

235

236

237238239240241

242

243244245246247248249250

Page 10: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

Test Case A: Web SSO and SLO – Redirect BindingPreconditions:

� Metadata exchanged and loaded� Encryption disabled� User Identities Not Federated

Conformance Modes: IdP, SP, IdP Lite, SP Lite, eGov

Step 1: AuthnRequest, Redirect Binding, FederateDescription: User/SP does Single Sign-On with Persistent Name Identifier to Federate with AllowCreate is set to TRUE. SP communication to the IdP for the SAML Authentication Request is through HTTP Redirect binding.

IdP CONFIRM: SP successfully communicated SAML Authentication Request through HTTP Redirect binding.IdP CONFIRM: Name ID format is 'persistent'.

Step 2: Assertion Response, POST bindingDescription: User provides assigned credentials for authentication. IdP provides assertion of User and IdP returns a signed SAML Response message through HTTP POST binding.

SP CONFIRM: IdP returns signed SAML Response through HTTP POST binding.SP CONFIRM: Valid assertion is returned from IdP.SP CONFIRM: User identity has been federated with IdP.IdP CONFIRM: User identity has been federated with SP.

Step 3: SLO Request, IdP-Initiated, Redirect BindingDescription: IdP logs out User session. IdP sends a signed LogoutRequest message to SP using HTTP Redirect binding.SP logs out User session. SP returns a signed LogoutResponse message to IdP using HTTP Redirect binding.

SP CONFIRM: Receives signed LogoutRequest through HTTP Redirect binding.SP CONFIRM: User logged out at SP.IdP CONFIRM: Receives signed LogoutResponse through HTTP Redirect binding.IdP CONFIRM: User logged out at IdP.

Liberty Alliance Project

10

251

252253254255

256

257258259260261262263

264265266267268269270

271272273274275276277278

Page 11: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

Step 4: AuthnRequest, Redirect Binding, Already FederatedDescription: User/SP does Single Sign-On with Persistent Name Identifier to Federate with AllowCreate is set to FALSE. SP communication to the IdP for the SAML Authentication Request is through HTTP Redirect binding.

IdP CONFIRM: SP successfully communicated SAML Authentication Request through HTTP Redirect binding.IdP CONFIRM: Name ID format is 'persistent'.

Step 5: Assertion Response, POST bindingDescription: User provides assigned credentials for authentication. IdP provides assertion of User and IdP returns a signed SAML Response message through HTTP POST binding.

SP CONFIRM: IdP returns signed SAML Response through HTTP POST binding.SP CONFIRM: Valid assertion is returned from IdP.SP CONFIRM: User identity has been federated with IdP.IdP CONFIRM: User identity has been federated with SP.

Step 6: SLO Request, SP-Initiated, Redirect BindingDescription: SP logs out User session. SP sends a signed LogoutRequest message to IdP using HTTP Redirect binding. IdP logs out User session. IdP returns a signed LogoutResponse message to SP using HTTP Redirect binding.

SP CONFIRM: User logged out at SP.IdP CONFIRM: Receives signed LogoutRequest through HTTP Redirect binding.IdP CONFIRM: User logged out at IdP.SP CONFIRM: Receives signed on LogoutResponse through HTTP Redirect binding.

Liberty Alliance Project

11

279280281282283284285

286287288289290291292

293294295296297298299300

Page 12: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

Test Case B: Web SSO – Artifact Binding and SLO – SOAP BindingPreconditions:

� Metadata exchanged and loaded� Encryption enabled for Assertions� Encryption enabled for NameIDs in SLO messages� User Identities Not Federated

NOTE: The SAML Conformance specification states that SOAP Binding for SLO is optional for SP Lite and IdP Lite applications. SP Lite and IdP Lite participants may choose to use Redirect Binding for test steps preforming SLO actions instead of SOAP Binding.

Conformance Modes: IdP, SP, IdP Lite, SP Lite, eGov

Step 1: AuthnRequest, Redirect Binding, FederateDescription: User/SP does Single Sign-On with Persistent Name Identifier to Federate with AllowCreate is set to TRUE. SP communication to the IdP for the SAML Authentication Request is through HTTP Redirect binding.

IdP CONFIRM: SP successfully communicated SAML Authentication Request through HTTP Redirect binding.IdP CONFIRM: Name ID format is 'persistent'.

Step 2: Assertion Response, HTTP ArtifactDescription: User provides assigned credentials for authentication. IdP creates assertion of User. <Response> message is associated with an artifact. IdP returns artifact in a through HTTP Redirect binding.

SP CONFIRM: Artifact is sent by IdP.IdP CONFIRM: User identity has been federated with SP.

Step 3: Artifact Resolution, SOAP BindingDescription: SP sends ArtifactResolve message to IdP referencing artifact through synchronous SOAP binding. IdP confirms artifact and returns <Response> message to SP in ArtifactResponse message.

SP CONFIRM: Receives ArtifactResponse message containing <Response> message with signed assertion of User.SP CONFIRM: User identity has been federated with IdP.IdP CONFIRM: Receives ArtifactResolve message.

Step 4: SLO Request, IdP-Initiated, SOAP BindingDescription: IdP logs out User session. IdP sends a signed LogoutRequest message to SP using synchronous SOAP binding. SP logs out User session. SP returns a signed LogoutResponse message to IdP using synchronous SOAP binding.

IdP CONFIRM: User logged out at IdP.SP CONFIRM: Receives signed LogoutRequest through SOAP binding.SP CONFIRM: User logged out at SP.

Liberty Alliance Project

12

301

302303304305306307308309310

311

312313314315316317318

319320321322323324

325326327328329330331332

333334335336337338339

Page 13: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

IdP CONFIRM: Receives signed LogoutResponse through SOAP binding.

Liberty Alliance Project

13

340

Page 14: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

Step 5: Redirect Binding, Already FederatedDescription: User/SP does Single Sign-On with Persistent Name Identifier to Federate with AllowCreate is set to FALSE. SP communication to the IdP for the SAML Authentication Request is through HTTP Redirect binding.

IdP CONFIRM: SP successfully communicated SAML Authentication Request through HTTP Redirect binding.IdP CONFIRM: Name ID format is 'persistent'.

Step 6: Assertion Response, HTTP ArtifactDescription: User provides assigned credentials for authentication. IdP creates assertion of User. <Response> message is associated with an artifact. IdP returns artifact in a through HTTP Redirect binding.

SP CONFIRM: Artifact is sent by IdP.IdP CONFIRM: User identity has been federated with SP.

Step 7: Artifact Resolution, SOAP BindingDescription: SP sends ArtifactResolve message to IdP referencing artifact through synchronous SOAP binding. IdP confirms artifact and returns <Response> message to SP in ArtifactResponse message.

SP CONFIRM: Receives ArtifactResponse message containing <Response> message with signed assertion of User.SP CONFIRM: User identity has been federated with IdP.IdP CONFIRM: Receives ArtifactResolve message.

Step 8: SLO Request, SP-Initiated, SOAP BindingDescription: SP logs out User session. SP sends a signed LogoutRequest message to IdP using synchronous SOAP binding. IdP logs out User session. IdP returns a signed LogoutResponse message to SP using synchronous SOAP binding.

SP CONFIRM: User logged out at SP.IdP CONFIRM: Receives signed LogoutRequest through SOAP binding.IdP CONFIRM: User logged out at IdP.SP CONFIRM: Receives signed on LogoutResponse through SOAP binding.

Liberty Alliance Project

14

341342343344345346347

348349350351352353

354355356357358359360361

362363364365366367368369

Page 15: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

Test Case C – NameID Management – Redirect BindingPreconditions:

� Metadata exchanged and loaded� Encryption disabled� User Identities Not Federated

Conformance Modes: IdP, SP

Step 1: AuthnRequest, Redirect Binding, FederateDescription: User/SP does Single Sign-On with Persistent Name Identifier to Federate with AllowCreate is set to TRUE. SP communication to the IdP for the SAML Authentication Request is through HTTP Redirect binding.

IdP CONFIRM: SP successfully communicated SAML Authentication Request through HTTP Redirect binding.IdP CONFIRM: Name ID format is 'persistent'.

Step 2: Assertion Response, POST bindingDescription: User provides assigned credentials for authentication. IdP provides assertion of User and IdP returns a SAML Response message through HTTP POST binding.

SP CONFIRM: IdP returns SAML Response through HTTP POST binding.SP CONFIRM: Receives signed assertion is returned from IdP.SP CONFIRM: User identity has been federated with IdP.IdP CONFIRM: User identity has been federated with SP.

Step 3: MNI Request, IdP-Initiated, Redirect bindingDescription: IdP sends signed ManageNameIdRequest message requesting to use a new NameID (value chosen by the IdP at time of test execution) for the User to the SP using HTTP Redirect binding. SP accepts the new NameID for the User. SP returns signed ManageNameIdResponse message using HTTP Redirect binding.

SP CONFIRM: Receives signed ManageNameIdRequest on HTTP Redirect binding.SP CONFIRM: New NameID is accepted.IdP CONFIRM: Receives signed ManageNameIdResponse on HTTP Redirect binding.

Step 4: SLO Request, SP-Initiated, Redirect BindingDescription: SP logs out User session. SP sends a signed LogoutRequest message to IdP using HTTP Redirect binding. IdP logs out User session. IdP returns a signed LogoutResponse message to SP using HTTP Redirect binding.

SP CONFIRM: User logged out at SP.IdP CONFIRM: Receives signed LogoutRequest through HTTP Redirect binding.IdP CONFIRM: New NameID from Step 3 is used in LogoutRequest.IdP CONFIRM: User logged out at IdP.SP CONFIRM: Receives signed on LogoutResponse through HTTP Redirect binding.

Liberty Alliance Project

15

370

371372373374

375

376377378379380381382

383384385386387388389

390391392393394395396397

398399400401402403404405406

Page 16: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

Step 5: AuthnRequest, Redirect Binding, Already FederatedDescription: User/SP does Single Sign-On with Persistent Name Identifier to Federate with AllowCreate is set to FALSE. SP communication to the IdP for the SAML Authentication Request is through HTTP Redirect binding.

IdP CONFIRM: SP successfully communicated SAML Authentication Request through HTTP Redirect binding.IdP CONFIRM: Name ID format is 'persistent'.

Step 6: Assertion Response, POST bindingDescription: User provides assigned credentials for authentication. IdP provides assertion of User and IdP returns a signed SAML Response message through HTTP POST binding.

SP CONFIRM: IdP returns signed SAML Response through HTTP POST binding.SP CONFIRM: Valid assertion is returned from IdP.SP CONFIRM: User identity has been federated with IdP.IdP CONFIRM: User identity has been federated with SP.

Step 7: MNI Request, SP-Initiated, Redirect bindingDescription: SP sends signed ManageNameIdRequest message requesting to use a new NameID (value chosen by the SP at time of test execution) for the User to the IdP using HTTP Redirect binding. IdP accepts the new NameID for the User. IdP returns signed ManageNameIdResponse message using HTTP Redirect binding.

IdP CONFIRM: Receives signed ManageNameIdRequest on HTTP Redirect binding.IdP CONFIRM: New NameID is accepted.SP CONFIRM: Receives signed ManageNameIdResponse on HTTP Redirect binding.

Step 8: SLO Request, IdP-Initiated, Redirect BindingDescription: IdP logs out User session. IdP sends a signed LogoutRequest message to SP using HTTP Redirect binding. SP logs out User session. SP returns a signed LogoutResponse message to IdP using HTTP Redirect binding.

IdP CONFIRM: User logged out at IdP.SP CONFIRM: Receives signed LogoutRequest through HTTP Redirect binding.SP CONFIRM: New NameID from Step 7 is used in LogoutRequest.SP CONFIRM: User logged out at SP.IdP CONFIRM: Receives signed LogoutResponse through HTTP Redirect binding.

Liberty Alliance Project

16

407408409410411412413

414415416417418419420

421422423424425426427428

429430431432433434435436437

Page 17: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

Step 9: AuthnRequest, Redirect Binding, Already FederatedDescription: User/SP does Single Sign-On with Persistent Name Identifier to Federate with AllowCreate is set to FALSE. SP communication to the IdP for the SAML Authentication Request is through HTTP Redirect binding.

IdP CONFIRM: SP successfully communicated SAML Authentication Request through HTTP Redirect binding.IdP CONFIRM: Name ID format is 'persistent'.

Step 10: Assertion Response, POST bindingDescription: User provides assigned credentials for authentication. IdP provides assertion of User and IdP returns a signed SAML Response message through HTTP POST binding.

SP CONFIRM: IdP returns signed SAML Response through HTTP POST binding.SP CONFIRM: Valid assertion is returned from IdP.SP CONFIRM: User identity has been federated with IdP.IdP CONFIRM: User identity has been federated with SP.

Step 11: MNI-Terminate from SPDescription: SP sends signed ManageNameIdRequest message with the <Terminate> element to the IdP using HTTP Redirect binding. Federation for User is terminated. IdP returns signed ManageNameIdResponse message using HTTP Redirect binding.

IdP CONFIRM: Receives signed ManageNameIdRequest with <Terminate> element on HTTP Redirect binding.IdP CONFIRM: Federation of User is terminated.SP CONFIRM: Receives signed ManageNameIdResponse on HTTP Redirect binding.SP CONFIRM: Federation of User is terminated.

Liberty Alliance Project

17

438439440441442443444

445446447448449450451

452453454455456457458459460

Page 18: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

Test Case D – NameID Management – SOAP BindingPreconditions:

� Metadata exchanged and loaded� Encryption enabled for Assertions� Encryption enabled for NameIDs in MNI messages� Encryption enabled for NameIDs in SLO messages� User Identities Not Federated

NOTE: The SAML Conformance specification states that SOAP Binding for MNI is optional for SP applications. SP participants may choose to use Redirect Binding for test steps preforming MNI actions instead of SOAP Binding.

Conformance Modes: IdP, SP

Step 1: AuthnRequest, Redirect Binding, FederateDescription: User/SP does Single Sign-On with Persistent Name Identifier to Federate with AllowCreate is set to TRUE. SP communication to the IdP for the SAML Authentication Request is through HTTP Redirect binding.

IdP CONFIRM: SP successfully communicated SAML Authentication Request through HTTP Redirect binding.IdP CONFIRM: Name ID format is 'persistent'.

Step 2: Assertion Response, HTTP ArtifactDescription: User provides assigned credentials for authentication. IdP creates assertion of User. <Response> message is associated with an artifact. IdP returns artifact in a through HTTP Redirect binding. SP sends ArtifactResolve message to IdP referencing artifact through synchronous SOAP binding. IdP confirms artifact and returns <Response> message to SP in ArtifactResponse message.

SP CONFIRM: Artifact is sent by IdP.IdP CONFIRM: User identity has been federated with SP.

Step 3: Artifact Resolution, SOAP BindingDescription:

SP CONFIRM: Receives ArtifactResponse message containing <Response> message with signed assertion of User.SP CONFIRM: User identity has been federated with IdP.IdP CONFIRM: Receives ArtifactResolve message.

Liberty Alliance Project

18

461

462463464465466467468469470

471

472473474475476477478

479480481482483484485

486487488489490491

Page 19: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

Step 4: MNI Request, SP-Initiated, SOAP bindingDescription: SP sends signed ManageNameIdRequest message requesting to use a new NameID (value chosen by the SP at time of test execution) for the User to the IdP using SOAP binding. IdP accepts the new NameID for the User. IdP returns signed ManageNameIdResponse message using same synchronous SOAP binding.

IdP CONFIRM: Receives signed ManageNameIdRequest on SOAP binding.IdP CONFIRM: New NameID is accepted.SP CONFIRM: Receives signed ManageNameIdResponse on SOAP binding.

Step 5: SLO Request, IdP-Initiated, SOAP BindingDescription: IdP logs out User session. IdP sends a signed LogoutRequest message to SP using synchronous SOAP binding. SP logs out User session. SP returns a signed LogoutResponse message to IdP using synchronous SOAP binding.

IdP CONFIRM: User logged out at IdP.SP CONFIRM: Receives signed LogoutRequest through SOAP binding.SP CONFIRM: User logged out at SP.IdP CONFIRM: Receives signed LogoutResponse through SOAP binding.

Step 6: Redirect Binding, Already FederatedDescription: User/SP does Single Sign-On with Persistent Name Identifier to Federate with AllowCreate is set to FALSE. SP communication to the IdP for the SAML Authentication Request is through HTTP Redirect binding.

IdP CONFIRM: SP successfully communicated SAML Authentication Request through HTTP Redirect binding.IdP CONFIRM: Name ID format is 'persistent'.

Step 7: Assertion Response, HTTP ArtifactDescription: User provides assigned credentials for authentication. IdP creates assertion of User. <Response> message is associated with an artifact. IdP returns artifact in a through HTTP Redirect binding.

SP CONFIRM: Artifact is sent by IdP.IdP CONFIRM: User identity has been federated with SP.

Step 8: Artifact Resolution, SOAP BindingDescription: SP sends ArtifactResolve message to IdP referencing artifact through synchronous SOAP binding. IdP confirms artifact and returns <Response> message to SP in ArtifactResponse message.

SP CONFIRM: Receives ArtifactResponse message containing <Response> message with signed assertion of User.SP CONFIRM: User identity has been federated with IdP.IdP CONFIRM: Receives ArtifactResolve message.

Liberty Alliance Project

19

492493494495496497498499

500501502503504505506507

508509510511512513514

515516517518519520

521522523524525526527528

Page 20: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

Step 9: MNI Request, IdP-Initiated, SOAP bindingDescription: IdP sends signed ManageNameIdRequest message requesting to use a new NameID (value chosen by the IdP at time of test execution) for the User to the SP using SOAP binding. SP accepts the new NameID for the User. SP returns signed ManageNameIdResponse message using same synchronous SOAP binding.

SP CONFIRM: Receives signed ManageNameIdRequest on HTTP Redirect binding.SP CONFIRM: New NameID is accepted.IdP CONFIRM: Receives signed ManageNameIdResponse on HTTP Redirect binding.

Step 10: SLO Request, SP-Initiated, SOAP BindingDescription: SP logs out User session. SP sends a signed LogoutRequest message to IdP using synchronous SOAP binding. IdP logs out User session. IdP returns a signed LogoutResponse message to SP using synchronous SOAP binding.

SP CONFIRM: User logged out at SP.IdP CONFIRM: Receives signed LogoutRequest through SOAP binding.IdP CONFIRM: User logged out at IdP.SP CONFIRM: Receives signed on LogoutResponse through SOAP binding.

Step 11: Redirect Binding, Already FederatedDescription: User/SP does Single Sign-On with Persistent Name Identifier to Federate with AllowCreate is set to FALSE. SP communication to the IdP for the SAML Authentication Request is through HTTP Redirect binding.

IdP CONFIRM: SP successfully communicated SAML Authentication Request through HTTP Redirect binding.IdP CONFIRM: Name ID format is 'persistent'.

Step 12: Assertion Response, HTTP ArtifactDescription: User provides assigned credentials for authentication. IdP creates assertion of User. <Response> message is associated with an artifact. IdP returns artifact in a through HTTP Redirect binding.

SP CONFIRM: Artifact is sent by IdP.IdP CONFIRM: User identity has been federated with SP.

Liberty Alliance Project

20

529530531532533534535536

537538539540541542543544

545546547548549550551

552553554555556557

Page 21: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

Step 13: Artifact Resolution, SOAP BindingDescription: SP sends ArtifactResolve message to IdP referencing artifact through synchronous SOAP binding. IdP confirms artifact and returns <Response> message to SP in ArtifactResponse message.

SP CONFIRM: Receives ArtifactResponse message containing <Response> message with signed assertion of User.SP CONFIRM: User identity has been federated with IdP.IdP CONFIRM: Receives ArtifactResolve message.

Step 14: MNI-Terminate, IdP-InitiatedDescription: IdP sends signed ManageNameIdRequest message with the <Terminate> element to the IdP using SOAP binding. Federation for User is terminated. IdP returns signed ManageNameIdResponse message using same synchronous binding.

SP CONFIRM: Receives signed ManageNameIdRequest with <Terminate> element on SOAP binding.SP CONFIRM: Federation of User is terminated.IdP CONFIRM: Receives signed ManageNameIdResponse on SOAP binding.IdP CONFIRM: Federation of User is terminated.

Liberty Alliance Project

21

558559560561562563564565

566567568569570571572573574

Page 22: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

Test Case E – POST BindingPreconditions:

� Metadata exchanged and loaded� Encryption disabled� User Identities Not Federated

Conformance Modes: POST Binding

Step 1: SSO, Federate, POST BindingDescription: User does Single Sign-On at SP with Persistent Name Identifier and AllowCreate set to TRUE. SP communication to the IdP for the SAML Authentication Request is through HTTP POST binding. IdP provides assertion of User and IdP returns a signed SAML Response message through HTTP POST binding.

IdP CONFIRM: SP successfully communicated SAML Authentication Request through HTTP POST binding.IdP CONFIRM: User has been federatedSP CONFIRM: IdP returns signed SAML Response through HTTP POST binding.

Step 2: MNI Request, IdP-Initiated, POST bindingDescription: IdP sends signed ManageNameIdRequest message to the SP using HTTP POST binding. SP returns signed ManageNameIdResponse message using HTTP POST binding.

SP CONFIRM: Receives signed ManageNameIdRequest on HTTP POST binding.IdP CONFIRM: Receives signed ManageNameIdResponse on HTTP POST binding.

Step 3: SLO Request, SP-Initiated, POST BindingDescription: SP sends a signed LogoutRequest message to IdP using HTTP POST binding. IdP logs out User session. IdP returns a signed LogoutResponse message.

IdP CONFIRM: Receives signed LogoutRequest on HTTP POST binding.SP CONFIRM: Receives signed LogoutResponse on HTTP POST binding.

Step 3: SSO, Already Federated, POST BindingDescription: User does Single Sign-On at SP with AllowCreate set to FALSE. SP communication to the IdP for the SAML Authentication Request is through HTTP POST binding. IdP provides assertion of User and IdP returns a signed SAML Response message through HTTP POST binding.

IdP CONFIRM: SP successfully communicated SAML Authentication Request through HTTP POST binding.SP CONFIRM: IdP returns signed SAML Response through HTTP POST binding.

Step 4: SLO Request, IdP-Initiated, POST BindingDescription: IdP logs out User session. IdP sends a signed LogoutRequest message to SP using HTTP POST binding. SP returns a signed LogoutResponse message.

IdP CONFIRM: Receives signed LogoutRequest on HTTP POST binding.SP CONFIRM: Receives signed LogoutResponse on HTTP POST binding.

Liberty Alliance Project

22

575

576577578579

580

581582583584585586587588589

590591592593594

595596597598599

600601602603604605606

607608609610611

Page 23: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

Step 5: SSO, Already Federated, POST BindingDescription: User does Single Sign-On at SP with AllowCreate set to FALSE. SP communication to the IdP for the SAML Authentication Request is through HTTP POST binding. IdP provides assertion of User and IdP returns a signed SAML Response message through HTTP POST binding.

IdP CONFIRM: SP successfully communicated SAML Authentication Request through HTTP POST binding.SP CONFIRM: IdP returns signed SAML Response through HTTP POST binding.

Step 6: MNI-Terminate, IdP-InitiatedDescription: IdP sends signed ManageNameIdRequest message with the Terminate element to the SP using HTTP POST binding. Federation for User is terminated. SP returns signed ManageNameIdResponse message using HTTP POST binding.

SP CONFIRM: Receives signed ManageNameIdRequest with Terminate flag on HTTP POST binding.SP CONFIRM: Federation of User is terminated.IdP CONFIRM: Receives signed ManageNameIdResponse on HTTP POST binding.IdP CONFIRM: Federation of User is terminated.

Step 7: SSO, Federate, POST BindingDescription: User does Single Sign-On at SP with Persistent Name Identifier and AllowCreate set to TRUE. SP communication to the IdP for the SAML Authentication Request is through HTTP POST binding. IdP provides assertion of User and IdP returns a signed SAML Response message through HTTP POST binding.

IdP CONFIRM: SP successfully communicated SAML Authentication Request through HTTP POST binding.IdP CONFIRM: User has been federatedSP CONFIRM: IdP returns signed SAML Response through HTTP POST binding.

Step 8: MNI Request, SP-Initiated, POST bindingDescription: SP sends signed ManageNameIdRequest message to the IdP using HTTP POST binding. IdP returns signed ManageNameIdResponse message using HTTP POST binding.

IdP CONFIRM: Receives signed ManageNameIdRequest on HTTP POST binding.SP CONFIRM: Receives signed ManageNameIdResponse on HTTP POST binding.

Step 9: SLO Request, IdP-Initiated, POST BindingDescription: IdP sends a signed LogoutRequest message to SP using HTTP POST binding. SP logs out User session. SP returns a signed LogoutResponse message.

SP CONFIRM: Receives signed LogoutRequest on HTTP POST binding.IdP CONFIRM: Receives signed LogoutResponse on HTTP POST binding.

Liberty Alliance Project

23

612613614615616617618

619620621622623624625626627

628629630631632633634635636

637638639640641

642643644645646

Page 24: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

Step 10: SSO, Already Federated, POST BindingDescription: User does Single Sign-On at SP with AllowCreate set to FALSE. SP communication to the IdP for the SAML Authentication Request is through HTTP POST binding. IdP provides assertion of User and IdP returns a signed SAML Response message through HTTP POST binding.

IdP CONFIRM: SP successfully communicated SAML Authentication Request through HTTP POST binding.SP CONFIRM: IdP returns signed SAML Response through HTTP POST binding.

Step 11: SLO Request, SP-Initiated, POST BindingDescription: SP sends a signed LogoutRequest message to IdP using HTTP POST binding. IdP logs out User session. IdP returns a signed LogoutResponse message.

IdP CONFIRM: Receives signed LogoutRequest on HTTP POST binding.SP CONFIRM: Receives signed LogoutResponse on HTTP POST binding.

Liberty Alliance Project

24

647648649650651652653

654655656657658

Page 25: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

Test Case F – IdP ProxyPreconditions:

� Metadata exchanged and loaded� Encryption disabled� User Identities Not Federated

Conformance Modes: IdP Extended, SP Extended

Background on IdP ProxyRefer to Section 3.4.1.5 of [SAMLCore] for more background. The IdP Proxy feature requires two IdP implementations and one SP implementation. If we have participants A and B, the following diagram depicts the roles of the test participants, assuming that IdPA and SPB are the implementations under test:

To complete this Test Case, the IdP under test must receive an authentication request for a User it can not authenticate but a User that the supporting IdP can authenticate. This coordination of User accounts must be done prior to executing the test case.

Step 1: ProxyCount=0Description: SP sets ProxyCount=0 where proxy is disallowed.

SP CONFIRM: SP has disallowed proxy.

Step 2: AuthnRequest from SP to IdPA, Redirect Binding, FederateDescription: User/SP attempts Single Sign-On with Persistent Name Identifier to Federate with AllowCreate is set to TRUE. SP communication to the IdPA for the SAML Authentication Request is through HTTP Redirect binding. IdPA does not recognize User and thus can not authenticate user.

IdPA CONFIRM: ProxyCount is set to 0.IdPA CONFIRM: User is not authenticated.

Step 3: Response FailureDescription: Being unable to authenticate User, IdPA returns SAML Response with error indicating AuthnRequest failed.

SP CONFIRM: IdPA returns SAML Response indicating authentication error.

Step 4: ProxyCount is Removed and IdP List is setDescription: SP removes ProxyCount where proxy is allowed. SP configures <IdPList> to include IdPB.

SP CONFIRM: SP has removed ProxyCount to allow proxy.SP CONFIRM: SP has set <IdPList> to include IdPB.

Liberty Alliance Project

25

659

660661662663

664

665666667668669

670671672

673674675

676677678679680681

682683684685

686687688689690

Page 26: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

Step 5: AuthnRequest from SP to IdPA, Redirect Binding, FederateDescription: User/SP does Single Sign-On with Persistent Name Identifier to Federate with AllowCreate is set to TRUE. SP communication to the IdPA for the SAML Authentication Request is through HTTP Redirect binding. IdPA does not recognize User but recognizes it can proxy the AuthnRequest to IdPB.

IdPA CONFIRM: ProxyCount is not set.IdPA CONFIRM: User is not authenticated.IdPA CONFIRM: AuthnRequest contains <IdPList> which includes IdPB.

Step 6: AuthnRequest from IdPA to IdPB, Redirect Binding, FederateDescription: IdPA proxies AuthnRequest to IdPB through HTTP Redirect binding.

IdPB CONFIRM: Receives AuthnRequest from IdPA.IdPB CONFIRM: ProxyCount is set to 0.IdPB CONFIRM: <IdPList> includes IdPB.

Step 7: Assertion Response from IdPB to IdPA, POST bindingDescription: User provides assigned credentials to IdPB for authentication. IdPB provides assertion of User and returns a signed SAML Response message to IdPA through HTTP POST binding.

IdPA CONFIRM: Receives SAML Response through HTTP POST binding.IdPA CONFIRM: Valid assertion is returned from IdPB.IdPA CONFIRM: <AuthnStatement> contains <AuthenticatingAuthority> referencing IdPB.

Step 8: Assertion Response from IdPA to SP, POST bindingDescription: IdPA inserts assertion of User it received from IdPB and returns a signed SAML Response message to SP through HTTP POST binding.

SP CONFIRM: Receives SAML Response through HTTP POST binding.SP CONFIRM: Valid assertion is returned from IdPA.SP CONFIRM: <AuthnStatement> contains <AuthenticatingAuthority> referencing IdPB.

Step 9: SLO Request, IdP-Initiated, Redirect BindingDescription: IdPA logs out User session. IdPA sends a signed LogoutRequest message to SP using HTTP Redirect binding.SP logs out User session. SP returns a signed LogoutResponse message to IdPA using HTTP Redirect binding.

IdPA CONFIRM: User logged out at IdPA.SP CONFIRM: Receives signed LogoutRequest through HTTP Redirect binding.SP CONFIRM: User logged out at SP.IdPA CONFIRM: Receives signed LogoutResponse through HTTP Redirect binding.

Liberty Alliance Project

26

691692693694695696697698

699700701702703

704705706707708709

710711712713714715

716717718719720721722723

Page 27: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

Step 10: ProxyCount=1 and IdP List is setDescription: SP makes ProxyCount set to 1. SP configures <IdPList> to include IdPB.

SP CONFIRM: SP sets ProxyCount to 1.SP CONFIRM: SP has set <IdPList> to include IdPB.

Step 11: AuthnRequest from SP to IdPA, Redirect Binding, FederateDescription: User/SP does Single Sign-On with Persistent Name Identifier to Federate with AllowCreate is set to TRUE. SP communication to the IdPA for the SAML Authentication Request is through HTTP Redirect binding. IdPA does not recognize User but recognizes it can proxy the AuthnRequest to IdPB.

IdPA CONFIRM: ProxyCount is set to 1.IdPA CONFIRM: User is not authenticated.IdPA CONFIRM: AuthnRequest contains <IdPList> which includes IdPB.

Step 12: AuthnRequest from IdPA to IdPB, Redirect Binding, FederateDescription: IdPA proxies AuthnRequest to IdPB through HTTP Redirect binding.

IdPB CONFIRM: Receives AuthnRequest from IdPA.IdPB CONFIRM: ProxyCount is set to 0.IdPB CONFIRM: <IdPList> includes IdPB.

Step 13: Assertion Response from IdPB to IdPA, POST bindingDescription: User provides assigned credentials to IdPB for authentication. IdPB provides assertion of User and returns a signed SAML Response message to IdPA through HTTP POST binding.

IdPA CONFIRM: Receives SAML Response through HTTP POST binding.IdPA CONFIRM: Valid assertion is returned from IdPB.IdPA CONFIRM: <AuthnStatement> contains <AuthenticatingAuthority> referencing IdPB.

Step 14: Assertion Response from IdPA to SP, POST bindingDescription: IdPA inserts assertion of User it received from IdPB and returns a signed SAML Response message to SP through HTTP POST binding.

SP CONFIRM: Receives SAML Response through HTTP POST binding.SP CONFIRM: Valid assertion is returned from IdPA.SP CONFIRM: <AuthnStatement> contains <AuthenticatingAuthority> referencing IdPB.

Step 15: SLO Request, IdP-Initiated, Redirect BindingDescription: IdPA logs out User session. IdPA sends a signed LogoutRequest message to SP using HTTP Redirect binding.SP logs out User session. SP returns a signed LogoutResponse message to IdPA using HTTP Redirect binding.

IdPA CONFIRM: User logged out at IdPA.SP CONFIRM: Receives signed LogoutRequest through HTTP Redirect binding.SP CONFIRM: User logged out at SP.IdPA CONFIRM: Receives signed LogoutResponse through HTTP Redirect binding.

Liberty Alliance Project

27

724725726727

728729730731732733734735

736737738739740

741742743744745746

747748749750751752

753754755756757758759760

Page 28: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

Test Case G – Name Identifier MappingPreconditions:

� Metadata exchanged and loaded� Encryption disabled� User Identities Not Federated

Conformance Modes: IdP Extended, SP Extended

Background on Name Identifier Mapping FeatureThe name identifier mapping feature requires that an IdP provide an indirect reference for a principal at SPA in response to a request from SPB. Assuming again that teams A and B are testing IdPA and SPB, it is necessary for the principal to federate her identity at both SPB and SPA with IdPA. This can be depicted as follows:

Step 1: SSO at SPA

Description: User does Single Sign-On at SPA with Persistent Name Identifier. SPA communicates Authentication Request through HTTP Redirect binding. IdP provides assertion of User and IdP returns a signed SAML Response message through HTTP POST binding.

IdP CONFIRM: SPA successfully communicated SAML Authentication Request through HTTP Redirect binding.IdP CONFIRM: User has been federated with SPA.SPA CONFIRM: IdP returns signed SAML Response through HTTP POST binding.SPA CONFIRM: User has been federated with IdP.

Liberty Alliance Project

28

761

762763764765

766

767768769770771

772773774775776777778779780

Page 29: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

Step 2: SSO at SPB

Description: User does Single Sign-On at SPB with Persistent Name Identifier. SPB communicates Authentication Request through HTTP Redirect binding. IdP provides assertion of User and IdP returns a signed SAML Response message through HTTP POST binding.

IdP CONFIRM: SPB successfully communicated SAML Authentication Request through HTTP Redirect binding.IdP CONFIRM: User has been federated with SPB.SPB CONFIRM: IdP returns signed SAML Response through HTTP POST binding.SPB CONFIRM: User has been federated with IdP.

Step 3: NameIDMappingRequest from SPB

13. SPB sends signed NameIdMappingRequest message over a SOAP binding to the IdP requesting an alternative name identifier for User. IdP maps the request to the User name ID federated with SPA. IdP returns the encrypted name ID federated with SPA in a signed NameIdMappingResponse message using a SOAP binding.

IdP CONFIRM: Receives signed NameIdMappingRequest for name ID federated with SPB. SPB CONFIRM: Receives NameIdMappingResponse for for name ID federated with SPA.SPB CONFIRM: Receives Encrypted NameID.

Liberty Alliance Project

29

781782783784785786787788789

790791792793794795796797

Page 30: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

Test Case H – IDP IntroductionPreconditions:

� Metadata exchanged and loaded� Encryption disabled� User Identities Not Federated

NOTE: The SAML Conformance specification states that IdP Discovery is optional for SP and SP Lite applications. SP and SP Lite participants may option out of this test case.Conformance Modes: IdP, SP, IdP Lite, SP Lite, eGov

BackgroundTwo IdP actors are needed to execute this test case. Test administrator will provide specific instructions on setup and actor roles at time of test case execution.

Step 1: Clear CookiesDescription: Cookies are cleared from User Browser

USER CONFIRM: User has cleared cookies from browser.

Step 2: IdPA is added to CDCDescription: User logins at IdPA. Cookie is set in common domain with IdPA appended to list of IdPs.

IdPA CONFIRM: User logged in, cookie is set in common domain and IdPA appended to end of IdP list in cookie.

Step 3: IdPB is added to CDCDescription: User logins at IdPB. IdPB appended to list of IdPs in CDC.

IdPB CONFIRM: User logged in and IdPB appended to end of IdP list in CDC.

Step 4: SSO to IdPA using CDC, HTTP RedirectDescription: User/SP does Single Sign-On using a common domain cookie. SP reads cookie. For eGov profile testing, SP must present to the User a list of IdPs and allow User to select IdPA for authentication. For non-eGov profile testing, depending on SP implementation, either the User is presented list of IDPs and selects IdPA for authentication or SP redirects User to IdPA for authentication. SP communication to the IdPA for the signed authentication request is through HTTP Redirect binding. IdPA provides signed assertion of User and IdP returns a SAML Response message through HTTP POST binding.

IdPA CONFIRM: SP successfully communicated signed SAML Authentication Request through HTTP Redirect binding.SP CONFIRM: Cookie was read and IdPA and IdPB were present in CDC.SP CONFIRM: IdPA returns signed assertion through HTTP POST binding.SP CONFIRM: For eGov profile, SP presents list of IdPs for authentication and IdPA and IdPB must be present on list.

Liberty Alliance Project

30

798

799800801802803804805806

807808809

810811812

813814815816

817818819

820821822823824825826827828829830831832833

Page 31: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

Step 5: SLO, SP-Initiated, HTTP RedirectDescription: SP does SLO. SP sends a signed LogoutRequest message to IdPA using HTTP Redirect binding. IdPA returns a signed LogoutResponse message. User is logged out.

IdPA CONFIRM: Receives signed LogoutRequest on HTTP Redirect binding.SP CONFIRM: Receives signed LogoutResponse on HTTP Redirect binding.SP CONFIRM: User is logged out.

Step 6: CDC is removedDescription: User closes browser. CDC is removed.

User CONFIRM: CDC is removed once browser is closed.

Liberty Alliance Project

31

834835836837838839

840841842

Page 32: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

Test Case I – Single Session LogoutPreconditions:

� Metadata exchanged and loaded� Encryption disabled� User Identities Not Federated

Conformance Modes: IdP, SP, IdP Lite, SP Lite, eGov

Step 1: SSO creates Session A for UserDescription: User creates Session A through Single Sign-On with Federate where AllowCreate is set to TRUE. SP communication to the IdP for the SAML Authentication Request is through HTTP Redirect binding. IdP provides assertion of User and IdP returns a signed SAML Response message through HTTP POST binding.

IdP CONFIRM: SP successfully communicated SAML Authentication Request through HTTP Redirect binding.IdP CONFIRM: User has been federated.IdP CONFIRM: User has been logged in through Session A.SP CONFIRM: IdP returns signed SAML Response through HTTP POST binding.

Step 2: SSO creates Session B for UserDescription: User creates new Session B, generally through second browser instances, through Single Sign-On. SP communication to the IdP for the SAML Authentication Request is through HTTP Redirect binding. IdP provides assertion of User and IdP returns a signed SAML Response message through HTTP POST binding.

IdP CONFIRM: SP successfully communicated SAML Authentication Request through HTTP Redirect binding.IdP CONFIRM: User has been logged in through Session B.SP CONFIRM: IdP returns signed SAML Response through HTTP POST binding.

Step 3: SLO from SP for Session ADescription: User logs off of Session A at the SP. SP sends a signed LogoutRequest message to IdP for Session A using HTTP Redirect binding. IdP examines <SessionIndex> and determins the logout request is for Session A. User is logged out of Session A, but User remains logged in through Session B. IdP returns a signed LogoutResponse message for Session A.

IdP CONFIRM: Receives signed LogoutRequest on HTTP Redirect binding.IdP CONFIRM: User logged out of Session A.IdP CONFIRM: User remains logged in through Session B.SP CONFIRM: Receives signed LogoutResponse on HTTP Redirect binding.SP CONFIRM: User logged out of Session A.SP CONFIRM: User remains logged in through Session B.

Liberty Alliance Project

32

843

844845846847

848

849850851852853854855856857858

859860861862863864865866867

868869870871872873874875876877878

Page 33: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

Step 4: SSO creates Session C for UserDescription: User creates Session C through Single Sign-On with Federate where AllowCreate is set to TRUE. SP communication to the IdP for the SAML Authentication Request is through HTTP Redirect binding. IdP provides assertion of User and IdP returns a signed SAML Response message through HTTP POST binding.

IdP CONFIRM: SP successfully communicated SAML Authentication Request through HTTP Redirect binding.IdP CONFIRM: User has been federated.IdP CONFIRM: User has been logged in through Session C.SP CONFIRM: IdP returns signed SAML Response through HTTP POST binding.

Step 5: SLO from IdP for Session CDescription: User logs off of Session C at the IdP. IdP sends a signed LogoutRequest message to SP for Session C using HTTP Redirect binding. SP examines <SessionIndex> and determins the logout request is for Session C. User is logged out of Session C, but User remains logged in through Session B. SP returns a signed LogoutResponse message for Session C.

SP CONFIRM: Receives signed LogoutRequest on HTTP Redirect binding.SP CONFIRM: User logged out of Session C.SP CONFIRM: User remains logged in through Session B.IdP CONFIRM: Receives signed LogoutResponse on HTTP Redirect binding.IdP CONFIRM: User logged out of Session C.IdP CONFIRM: User remains logged in through Session B.

Liberty Alliance Project

33

879880881882883884885886887888

889890891892893894895896897898899

Page 34: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

Test Case J – Unsolicited <Response> and “Transient” NameIDPreconditions:

� Metadata exchanged and loaded� Encryption disabled� User Identities Not Federated

Conformance Modes: IdP, SP, IdP Lite, SP Lite, eGov

Step 1: Unsolicited <Response>, HTTP Post Binding, “transient” NameIDDescription: User does Single Sign-On at IdP. IdP provides assertion of User and makes Name ID format “transient”. IdP sends a signed SAML Response message through HTTP POST binding.

IdP CONFIRM: User has been federated.SP CONFIRM: NameID format is “transient”.SP CONFIRM: IdP sends signed SAML Response through HTTP POST binding.

Step 2: SLO from SPDescription: SP sends a signed LogoutRequest message to IdP using HTTP Redirect binding. IdP logs out User session. IdP returns a signed LogoutResponse message.

IdP CONFIRM: Receives signed LogoutRequest on HTTP Redirect binding.SP CONFIRM: Receives signed LogoutResponse on HTTP Redirect binding.

Step 3: Unsolicited <Response>, Artifact Binding, “transient” NameIDDescription: User does Single Sign-On at IdP. IdP provides assertion of User and makes Name ID is format “transient”. <Response> message is communicated through Artifact binding. The IdP and SP resolve the artifact via a SOAP binding. SP consumes the <Response> message.

IdP CONFIRM: Artifact resolution is properly done.IdP CONFIRM: User has been federatedSP CONFIRM: NameID format is “transient”.SP CONFIRM: IdP sends signed SAML Response through HTTP Artifact.SP CONFIRM: Artifact resolution is properly done.

Step 4: SLO from IdPDescription: IdP sends a signed LogoutRequest message to SP using HTTP Redirect binding. SP logs out User session. SP returns a signed LogoutResponse message.

SP CONFIRM: Receives signed LogoutRequest on HTTP Redirect binding.IdP CONFIRM: Receives signed LogoutResponse on HTTP Redirect binding.

Liberty Alliance Project

34

900

901902903904

905

906907908909910911

912913914915916

917918919920921922923924925

926927928929930

Page 35: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

Test Case K – Multiple SP LogoutPreconditions:

� Metadata exchanged and loaded� Encryption disabled� User Identities Not Federated

Conformance Modes: IdP, SP, IdP Lite, SP Lite, eGov

Step 1: SSO from SPA

Description: User at SPA performs Single Sign-On (any profile) to IdP. IdP CONFIRM: SPA successfully communicated SAML Authentication Request and IdP sent back Assertion for User.IdP CONFIRM: User has been federated with SPA

SPA CONFIRM: IdP returns signed SAML Response and User is authenticated.

Step 2: SSO from SPB using same Session IDDescription: User logins to SPB and is authenticated by IdP with same session id.

IdP CONFIRM: SPB successfully communicated SAML Authentication Request and IdP sent back Assertion for User and maintained same session id as in Step 1.IdP CONFIRM: User has been federated with SPB

SPB CONFIRM: IdP returns signed SAML Response and User is authenticated.

Step 3: SLO from SPA to IdPDescription: User issues SLO from SPA to IdP.

IdP CONFIRM: SPA sends signed LogoutRequest for User.SPA CONFIRM: A signed LogoutRequest is sent to IdP.

Step 4: LogoutRequest from IdP to SPB

Description: Signed LogoutRequest is sent from IdP to SPB. User is logged out of SPB. After receiving the LogoutResponse from SPB, IdP sends LogoutResponse to SPA.

IdP CONFIRM: Signed LogoutRequest is sent to SPA and receives back signed LogoutResponse. IdP CONFIRM: No active session for User.SPB CONFIRM: IdP sends signed LogoutResponse, a signed LogoutResponse is returned and User is logged out. SPA CONFIRM: Receives signed LogoutResponse from IdP.

Step 5: SSO from SPB to IdPDescription: User at SPB performs Single Sign-On (any profile) to IdP.

IdP CONFIRM: SPB successfully communicated SAML Authentication Request and IdP sent back Assertion for User.IdP CONFIRM: User has active session.SPB CONFIRM: IdP returns signed SAML Response and User is authenticated.

Liberty Alliance Project

35

931

932933934935

936

937938939940941942

943944945946947948

949950951952

953954955956957958959960961

962963964965966967

Page 36: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

Step 6: SSO from SPA using same Session IDDescription: User logins to SPA and is authenticated by IdP with same session id.

IdP CONFIRM: SPA successfully communicated SAML Authentication Request and IdP sent back Assertion for User and maintained same session id as in Step 5.SPA CONFIRM: IdP returns signed SAML Response and User is authenticated.

Step 7: SLO from SPB to IdPDescription: User does SLO from IdP to SPB.

IdP CONFIRM: SPB is sent signed LogoutRequest for User. SPB CONFIRM: IdP sends a signed LogoutRequest and User is logged out.

Step 8: LogoutRequest from IdP to SPA

Description: Signed LogoutRequest is sent to SPA from IdP. User is logged out of SPA. After receiving the LogoutResponse from SPA, IdP sends LogoutResponse to SPB.

IdP CONFIRM: Signed LogoutRequest is sent to SPA and receives back signed LogoutResponse. SPA CONFIRM: IdP sends signed LogoutResponse, a signed LogoutResponse is returned and User is logged out.SP CONFIRM: Receives signed LogoutResponse from IdP.

Step 9: SSO from SPB to IdPDescription: User at SPB performs Single Sign-On (any profile) to IdP.

IdP CONFIRM: SPB successfully communicated SAML Authentication Request and IdP sent back Assertion for User.IdP CONFIRM: User has active session.SPB CONFIRM: IdP returns signed SAML Response and User is authenticated.

Step 10: SSO from SPA using same Session IDDescription: User logins to SPA and is authenticated by IdP with same session id.

IdP CONFIRM: SPA successfully communicated SAML Authentication Request and IdP sent back Assertion for User and maintained same session id as in Step 5.SPA CONFIRM: IdP returns signed SAML Response and User is authenticated.

Liberty Alliance Project

36

968969970971972

973974975976

977978979980981982983984

985986987988989990

991992993994995

Page 37: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

Step 11: Local logout at SPB

Description: User does local logout (not SLO) at SPB.IdP CONFIRM: LogoutRequest for User is not received at this time.SPB CONFIRM: User is logged out locally.

Step 12: SLO from SPA to IdPDescription: User issues SLO from SPA to IdP.

IdP CONFIRM: SPA sends signed LogoutRequest for User. SPA CONFIRM: A signed LogoutRequest is sent to IdP. User is logged out.

Step 13: PartialLogout ErrorDescription: Signed LogoutRequest is sent from IdP to SPB. Because User is already logged out of SPB, a status code of “PartialLogout” is returned in the to the Signed LogoutResponse. IdP sends LogoutResponse to SPA.

IdP CONFIRM: Signed LogoutRequest is sent to SPB and receives back signed LogoutResponse.IdP CONFIRM: Signed LogoutReponse contains status code of urn:oasis:names:tc:SAML:2.0:status:PartialLogout.SPB CONFIRM: IdP sends signed LogoutResponse, unable to perform SLO, and a signed LogoutResponse is returned indicating “PartialLogout”.SPA CONFIRM: Receives signed LogoutResponse from IdP indicating “PartialLogout.”

Liberty Alliance Project

37

996997998999

1000100110021003

10041005100610071008100910101011101210131014

Page 38: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

Test Case L – Force Authentication and Passive AuthenticationPreconditions:

� Metadata exchanged and loaded� Encryption disabled�

Conformance Modes (Required): IdP, SP, IdP Lite, SP Lite, eGov

Step 1: User Logins at IdPDescription: User logins at IdP and creates and active session

IdP CONFIRM: User logged in.

Step 2: SP sets IsPassive=TRUEDescription: SP is configured to make IsPassive set to TRUE.

SP CONFIRM: SP is configured IsPassive=TRUE.

Step 3: SSO with isPassive=TRUEDescription: User/SP does Single Sign-On SP communication to the IdP for the SAML Authentication Request is through HTTP Redirect binding. IdP provides assertion of User without interacting with the user. IdP returns a signed SAML Response message through HTTP POST binding.

IdP CONFIRM: SP successfully communicated SAML Authentication Request through HTTP Redirect binding.IdP CONFIRM: User does not interact with IdP or IdP must not take control of user interface.SP CONFIRM: IdP returns assertion in signed SAML Response through HTTP POST binding.

Step 4: SLO from SPDescription: SP sends a signed LogoutRequest message to IdP using HTTP Redirect binding. IdP logs out User session. IdP returns a signed LogoutResponse message.

IdP CONFIRM: Receives signed LogoutRequest on HTTP Redirect binding.SP CONFIRM: Receives signed LogoutResponse on HTTP Redirect binding.SP CONFIRM: User is logged out.

Step 5: SP sets IsPassive=FALSEDescription: SP is configured to make IsPassive set to FALSE.

SP CONFIRM: SP is configured IsPassive=FALSE.

Step 6: SSO with isPassive=FALSEDescription: User/SP does Single Sign-On SP communication to the IdP for the SAML Authentication Request is through HTTP Redirect binding. IdP interacts with and authenticates the user. IdP returns a signed SAML Response message through HTTP POST binding.

Liberty Alliance Project

38

1015

101610171018

1019

102010211022

102310241025

10261027102810291030103110321033103410351036

103710381039104010411042

104310441045

1046104710481049

Page 39: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

IdP CONFIRM: SP successfully communicated SAML Authentication Request through HTTP Redirect binding.IdP CONFIRM: User does interact with IdP.SP CONFIRM: IdP returns assertion in signed SAML Response through HTTP POST binding.

Step 7: SLO from SPDescription: SP sends a signed LogoutRequest message to IdP using HTTP Redirect binding. IdP logs out User session. IdP returns a signed LogoutResponse message.

IdP CONFIRM: Receives signed LogoutRequest on HTTP Redirect binding.SP CONFIRM: Receives signed LogoutResponse on HTTP Redirect binding.SP CONFIRM: User is logged out.

Step 8: User Logins At IdP Description: User logins at IdP and creates and active session

IdP CONFIRM: User logged in.

Step 9: SP sets ForceAuthn=TRUEDescription: SP is configured to make ForceAuthn set to TRUE.

SP CONFIRM: SP is configured ForceAuthn=TRUE.

Step 10: SSO with ForceAuthn=TRUEDescription: User/SP does Single Sign-On SP communication to the IdP for the SAML Authentication Request is through HTTP Redirect binding. IdP interacts with User and authenticates the User. IdP provides assertion of User. IdP returns a signed SAML Response message through HTTP POST binding.

IdP CONFIRM: SP successfully communicated SAML Authentication Request through HTTP Redirect binding.IdP CONFIRM: User interacts with IdP and is authenticated.SP CONFIRM: IdP returns assertion in signed SAML Response through HTTP POST binding.

Step 11: SLO from SPDescription: SP sends a signed LogoutRequest message to IdP using HTTP Redirect binding. IdP logs out User session. IdP returns a signed LogoutResponse message.

IdP CONFIRM: Receives signed LogoutRequest on HTTP Redirect binding.SP CONFIRM: Receives signed LogoutResponse on HTTP Redirect binding.SP CONFIRM: User is logged out.

Liberty Alliance Project

39

10501051105210531054

105510561057105810591060

106110621063

106410651066

1067106810691070107110721073107410751076

107710781079108010811082

Page 40: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

Test Case M – SAML Authentication AuthorityPreconditions:

� Metadata exchanged and loaded� Encryption disabled� User Identities Not Federated

Conformance Modes: SAML Authentication Authority

Note: Section [AuthenticationContexts] within this document describes the strength of the AuthnContext classes used for comparison.

Test Steps

Step 1: Description: User/SP does Single Sign-On with Persistent Name Identifier. SP communication to the IdP for the SAML Authentication Request is through HTTP POST binding. IdP provides assertion of User and IdP returns a signed SAML Response message through HTTP POST binding.

IdP CONFIRM: SP successfully communicated SAML Authentication Request through HTTP POST binding.IdP CONFIRM: User has been federatedSP CONFIRM: IdP returns signed SAML Response through HTTP POST binding.

Step 2: Description: SAML Requester sets AC comparison to “exact”.

SAML Requester CONFIRM: AC comparison=”exact”.

Step 3: Description: SAML Requester sends Authentication Query to SAML Responder through SOAP binding. SAML Responder returns SAML Response.

SAML Responder CONFIRM: SAML Requester sent Authentication Query.SAML Requester CONFIRM: SAML Responder returned the SAML Response.

Step 4: Description: SAML Requester sets AC comparison to “better”.

SAML Requester CONFIRM: AC comparison=”better”.

Step 5: Description: SAML Requester sends Authentication Query to SAML Responder through SOAP binding. SAML Responder returns SAML Response.

SAML Responder CONFIRM: SAML Requester sent Authentication Query.SAML Requester CONFIRM: SAML Responder returned the SAML Response.

Step 6: Description: SAML Requester sets AC comparison to “minimum”.

Liberty Alliance Project

40

1083

1084108510861087

1088

10891090

1091

10921093109410951096109710981099

110011011102

11031104110511061107

110811091110

11111112111311141115

11161117

Page 41: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

SAML Requester CONFIRM: AC comparison=”minimum”.

Step 7: Description: SAML Requester sends Authentication Query to SAML Responder through SOAP binding. SAML Responder returns SAML Response.

SAML Responder CONFIRM: SAML Requester sent Authentication Query.SAML Requester CONFIRM: SAML Responder returned the SAML Response.

Step 8: Description: SAML Requester sets AC comparison to “maximum”.

SAML Requester CONFIRM: AC comparison=” maximum”.

Step 9: Description: SAML Requester sends Authentication Query to SAML Responder through SOAP binding. SAML Responder returns SAML Response.

SAML Responder CONFIRM: SAML Requester sent Authentication Query.SAML Requester CONFIRM: SAML Responder returned the SAML Response.

Liberty Alliance Project

41

1118

11191120112111221123

112411251126

11271128112911301131

Page 42: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

Test Case N – SAML Attribute AuthorityPreconditions:

� Metadata exchanged and loaded� Encryption disabled� User Identities Not Federated

Conformance Modes: SAML Attribute Authority

Step 1: Description: User/SP does Single Sign-On with Persistent Name Identifier. SP communication to the IdP for the SAML Authentication Request is through HTTP POST binding. IdP provides assertion of User and IdP returns a signed SAML Response message through HTTP POST binding.

IdP CONFIRM: SP successfully communicated SAML Authentication Request through HTTP POST binding.IdP CONFIRM: User has been federatedSP CONFIRM: IdP returns signed SAML Response through HTTP POST binding.

Step 2: Description: SAML Responder sets attribute query to no attributes.

SAML Responder CONFIRM: Attribute Query No Attributes.

Step 3: Description: SAML Requester sends Attribute Query to SAML Responder through SOAP binding. SAML Responder returns SAML Response.

SAML Responder CONFIRM: SAML Requester sent Attribute Query.SAML Requester CONFIRM: SAML Responder returned the SAML Response.

Step 4: Description: SAML Responder sets attribute query to attribute named.

SAML Responder CONFIRM: Attribute Query Attribute Named.

Step 5: Description: SAML Requester sends Attribute Query to SAML Responder through SOAP binding. SAML Responder returns SAML Response.

SAML Responder CONFIRM: SAML Requester sent Attribute Query.SAML Requester CONFIRM: SAML Responder returned the SAML Response.

Step 6: Description: SAML Responder sets attribute query to attribute value.

SAML Responder CONFIRM: Attribute Query Attribute Value.

Step 7: Description: SAML Requester sends Attribute Query to SAML Responder through SOAP binding. SAML Responder returns SAML Response.

Liberty Alliance Project

42

1132

1133113411351136

1137

11381139114011411142114311441145

114611471148

11491150115111521153

115411551156

11571158115911601161

116211631164

116511661167

Page 43: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

SAML Responder CONFIRM: SAML Requester sent Attribute Query.SAML Requester CONFIRM: SAML Responder returned the SAML Response.

Step 8: Description: SAML Responder sets attribute query to attribute named. SAML Responder enables attribute for encryption.

SAML Responder CONFIRM: Attribute Query Attribute Named.SAML Responder CONFIRM: Encryption assertion enabled.

Step 9: Description: SAML Requester sends Attribute Query to SAML Responder through SOAP binding. SAML Responder returns SAML Response.

SAML Responder CONFIRM: SAML Requester sent Attribute Query.SAML Requester CONFIRM: SAML Responder returned the SAML Response.

Liberty Alliance Project

43

11681169

11701171117211731174

11751176117711781179

Page 44: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

Test Case O – SAML Authorization Decision AuthorityPreconditions:

� Metadata exchanged and loaded� Encryption disabled� User Identities Not Federated

Conformance Modes: SAML Authorization Decision Authority

Step 1: Description: User/SP does Single Sign-On with Persistent Name Identifier. SP communication to the IdP for the SAML Authentication Request is through HTTP POST binding. IdP provides assertion of User and IdP returns a signed SAML Response message through HTTP POST binding.

IdP CONFIRM: SP successfully communicated SAML Authentication Request through HTTP POST binding.IdP CONFIRM: User has been federatedSP CONFIRM: IdP returns signed SAML Response through HTTP POST binding.

Step 2: Description: SAML Requester enables HTTP Basic Authentication.

SAML Requester CONFIRM: HTTP Basic Authentication enabled.

Step 3: Description: SAML Responder sets Authorization Query to never permitted which means subject is never authorized for access.

SAML Responder CONFIRM: AuthzQuery Resource=never

Step 4: Description: SAML Requester sends Authorization Query to SAML Responder through SOAP binding. SAML Responder returns SAML Response.

SAML Responder CONFIRM: SAML Requester sent Authorization Query.SAML Requester CONFIRM: SAML Responder returned the SAML Response.

Liberty Alliance Project

44

1180

1181118211831184

1185

11861187118811891190119111921193

119411951196

1197119811991200

12011202120312041205

Page 45: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

Step 5: Description: SAML Responder sets authorization query to maybe permitted if authentication is matched which means subject is authorized if it is a “particular” subject.

SAML Responder CONFIRM: AuthzQuery Resource=maybe

Step 6: Description: SAML Requester sends Authorization Query to SAML Responder through SOAP binding. SAML Responder returns SAML Response.

SAML Responder CONFIRM: SAML Requester sent Authorization Query.SAML Requester CONFIRM: SAML Responder returned the SAML Response.

Step 7: Description: SAML Responder sets Authorization Query to always permitted which means subject is always authorized.

SAML Responder CONFIRM: AuthzQuery Resource=always

Step 8: Description: SAML Requester sends Authorization Query to SAML Responder through SOAP binding. SAML Responder returns SAML Response.

SAML Responder CONFIRM: SAML Requester sent Authorization Query.SAML Requester CONFIRM: SAML Responder returned the SAML Response.

Liberty Alliance Project

45

1206120712081209

12101211121212131214

1215121612171218

12191220122112221223

Page 46: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

Test Case P – Error TestingPreconditions:

� Metadata exchanged and loaded� Encryption disabled� User Identities Not Federated

Conformance Modes: IdP, SP, SP Lite, eGov, POST

NOTE – Test Steps 2-11 involve the Liberty Error Test Tool. Metadata for conducting these tests will be exchanged.

Step 1: Description: Successful SSO using Artifact Resolution as described in Steps 1-3 of Test Case B are done. Once those steps are complete, the SP reissues the same <Artifact> in a new <ArtifactResolve> message. The IdP recognizes the reissued <Artifact> and refuses it. <ArtifactResponse> is returned with no embedded message.

IdP CONFIRM: Successful SSO using Artifact Binding.IdP CONFIRM: Second <ArtifactResolve> message received using same <Artifact> and refused.SP CONFIRM: <ArtifactResponse> is returned with no embedded message.

Step 2: Description: Test Harness POSTs an unsolicited SAML Response message containing a valid assertion.

SP CONFIRM: SAML Response was received and assertion accepted.

Step 3: Description: Test Harness re-POSTs the assertion that was successful during the initialization of this test sequence.

SP CONFIRM: Assertions are not replayed within the validity period of the assertion.

Step 4: Description: The assertion of the SAML Response from Step 2 is altered and sent without re-signing in a HTTP POST from Test Harness.

SP CONFIRM: SP rejects the message.

Step 5: Description: The assertion of the SAML Response from Step 2 is sent but signed with the wrong signing key in a HTTP POST from Test Harness.

SP CONFIRM: SP rejects the message.

Liberty Alliance Project

46

1224

1225122612271228

1229

12301231

123212331234123512361237123812391240

1241124212431244

1245124612471248

1249125012511252

1253125412551256

Page 47: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

Step 6: Description: The Test Harness constructs a SAML Response message with an incorrect Recipient attribute. Recipient attribute is in the <SubjectConfirmationData> element.

SP CONFIRM: SP detects and rejects the message.

Step 7: Description: The Test Harness sends an altered assertion in the SAML Response. A different Method URN is substituted in the assertion’s <SubjectConfirmation> element other than the required Method of urn:oasis:names:tc:SAML:2.0:cm:bearer.

SP CONFIRM: SP detects and rejects the message.

Step 8: Description: The Test Harness POSTs a SAML Response containing an assertion which does not contain an <AudienceRestriction> including the SP's unique identifier as an <Audience>.

SP CONFIRM: SP rejects the assertion.

Step 9: Description: The Test Harness sets the NotOnOrAfter attribute to a date/time that has occurred in past with respect the date/time of executing this test step.

SP CONFIRM: The SP to reject the assertion because of the NotOnOrAfter attribute.

Step 10: Description: The Test Harness sets the NotBefore attribute to a date/time in the future with respect to the date/time of executing this test step.

SP CONFIRM: The SP to reject the assertion because of the NotBefore attribute.

Step 11: Description: The Test Harness includes a <Condition> extension element in the <Conditions> element of the assertion that cannot be understood.

SP CONFIRM: The SP rejects the assertion.

Liberty Alliance Project

47

1257125812591260

12611262126312641265

1266126712681269

1270127112721273

1274127512761277

1278127912801281

Page 48: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

Test Case Q – Requested AuthnContextPreconditions:

� Metadata exchanged and loaded� Encryption disabled� User Identities Not Federated

Conformance Modes: eGov ProfileNote: Section [AuthenticationContexts] within this document describes the strength of the AuthnContext classes used for comparison used in this test case.

Step 1: Issue <AuthnRequest> with Assigned <RequestedAuthnContext>Description: For each iteration in Table Q.1, SP sends an <AuthnRequest> to the IdP. Within <NameIDPolicy>, AllowCreate is set to “true”, and the with format is set to 'persistent'. The ForceAuthn attribute is set to “true”. SP communication to the IdP for the SAML Authentication Request is through HTTP Redirect binding.

For each iteration, the SP inserts a <RequestedAuthnContext> element into the <AuthnRequest> message. The authentication context requested and the Comparison attribute setting is defined in Table Q.1. Prior to each iteration, the IdP enables its authenticating context for the User as defined in the table. The expected Status value for the <Response> message is also listed in the table.

TABLE Q.1Iteration SP Requested AC Comparison IdP Supported AC Status Response1 Password “exact” InternetProtocol NoAuthnContext2 Password “minimum” InternetProtocol NoAuthnContext3 Password “better” InternetProtocol NoAuthnContext4 InternetProtocol “exact” InternetProtocol Success5 InternetProtocol “minimum” InternetProtocol Success6 InternetProtocol “maximum” InternetProtocol Success7 InternetProtocol “maximum” Password NoAuthnContext8 InternetProtocol “better” Password Success

SP CONFIRM: Every iteration from Table Q.1 is executed, and all messages, actions and responses match the results assigned by the table.IdP CONFIRM: Every iteration from Table Q.1 is executed, and all messages, actions and responses match the results assigned by the table.

Liberty Alliance Project

48

1282

1283128412851286

128712881289

12901291129212931294

1295129612971298

1299

1300130113021303

Page 49: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

Test Case R – User ConsentPreconditions:

� Metadata exchanged and loaded� Encryption disabled� User Identities Not Federated

Conformance Modes: eGov

Step 1: User Consent StatusResponseDescription: IdP must provide means for User to provide authentication consent per the different consent values listed in Table R.1. Consent conditions are listed in section 8.4 of [SAMLCore]. The exact means used is left to the individual IdP. After user provides assigned credentials for authentication, IdP provides assertion of User and returns <Assertion> in an unsolicited signed SAML Response message through HTTP POST binding. The Consent attribute is included in the StatusResponse. The test step is repeated through each iteration in Table R.1

TABLE R.1Iteration Consent value1 urn:oasis:names:tc:SAML:2.0:consent:obtained2 urn:oasis:names:tc:SAML:2.0:consent:prior3 urn:oasis:names:tc:SAML:2.0:consent:current-implicit4 urn:oasis:names:tc:SAML:2.0:consent:current-explicit5 urn:oasis:names:tc:SAML:2.0:consent:unspecified

SP CONFIRM: IdP sends signed SAML Response through HTTP POST binding.SP CONFIRM: Valid assertion is returned from IdP.SP CONFIRM: Consent attribute match values in Table R.1SP CONFIRM: User A identity has been federated with IdP.IdP CONFIRM: User A identity has been federated with SP.

Liberty Alliance Project

49

1304

1305130613071308

1309

1310131113121313131413151316

1317

13181319132013211322

Page 50: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

Test Case S – Assertion AttributePreconditions:

� Metadata exchanged and loaded� Encryption disabled� User Identities Not Federated

Conformance Modes: eGov

Step 1: User A, AttributeStatement in Assertion ResponseDescription: User A requires authentication. SP sends <AuthnRequest> with AllowCreate is set to TRUE. SP communication to the IdP for the SAML Authentication Request is through HTTP Redirect binding. User A provides assigned credentials for authentication. IdP provides assertion of User A. The attributes in the table below are assigned to User A and are to be returned in a single <AttributeStatement> in the assertion. IdP returns <Assertion> in a signed SAML Response message through HTTP POST binding.

TABLE S.1Attribute Name AttributeValue (string) NameFormatLastName Wall “basic”urn:oid:2.5.4.40 John “uri”Position PG “unspecified”

SP CONFIRM: IdP returns signed SAML Response through HTTP POST binding.SP CONFIRM: Valid assertion is returned from IdP.SP CONFIRM: Returned attributes match values in Table S.1SP CONFIRM: User A identity has been federated with IdP.IdP CONFIRM: User A identity has been federated with SP.

Step 2: User B, No AttributeStatement in Assertion ResponseDescription: User B requires authentication. SP sends <AuthnRequest> with AllowCreate is set to TRUE. SP communication to the IdP for the SAML Authentication Request is through HTTP Redirect binding. User B provides assigned credentials for authentication. IdP provides assertion of User B. No <AttributeStatement> is returned in the <Assertion>.

SP CONFIRM: IdP returns signed SAML Response through HTTP POST binding.SP CONFIRM: Valid assertion is returned from IdP.SP CONFIRM: No <AttributeStatement> is returned in <Assertion>.SP CONFIRM: User B identity has been federated with IdP.IdP CONFIRM: User B identity has been federated with SP.

Liberty Alliance Project

50

1323

1324132513261327

1328

1329133013311332133313341335

1336

13371338133913401341

13421343134413451346

13471348134913501351

Page 51: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

Test Case T – Unspecified FormatPreconditions:

� Metadata exchanged and loaded� Encryption disabled� User Identities Not Federated

Conformance Modes: eGov

Step 1: AuthnRequest, 'Unspecified' NameID format, Redirect Binding, FederateDescription: User/SP does Single Sign-On with AllowCreate is set to TRUE. The with Name Identifier format is set to 'unspecified'. SP communication to the IdP for the SAML Authentication Request is through HTTP Redirect binding.

IdP CONFIRM: SP successfully communicated SAML Authentication Request through HTTP Redirect binding.IdP CONFIRM: Name ID format is 'unspecified'.

Step 2: Assertion Response, POST bindingDescription: User provides assigned credentials for authentication. IdP provides assertion of User. NameID format is set to 'persistent'. In <Assertion>, SessionIndex attribute must be present but SessionNotOnOrAfter must not be present. IdP returns <Assertion> in a signed SAML Response message through HTTP POST binding.

SP CONFIRM: IdP returns signed SAML Response through HTTP POST binding.SP CONFIRM: Valid assertion is returned from IdP.SP CONFIRM: NameID format is 'persistent'.SP CONFIRM: SessionIndex is present.SP CONFIRM: SessionNotOnOrAfter is not present.SP CONFIRM: User identity has been federated with IdP.IdP CONFIRM: User identity has been federated with SP.

Liberty Alliance Project

51

1352

1353135413551356

1357

1358135913601361136213631364

136513661367136813691370137113721373137413751376

Page 52: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

References[SAMLTP31] Kyle Meadors, et al, “SAML 2.0 Interoperability Testing Procedures, V3.1,

Errata J,” Liberty Alliance Project (July 2008), http://www.projectliberty.org/liberty/content/download/4160/27946/file/Liberty_Interoperability_SAML_Test_Plan_v3.1.pdf

[ExcXMLCan] John Boyer et al, “Exclusive XML Canonicalization Version 1.0, W3C Recommendation”, W3C (July 2002), http://www.w3.org/TR/xml-exc-c14n/

[SAMLAuthnCxt] J. Kemp et al, “Authentication Context for the OASIS Security Assertion Markup Language (SAML) V2.0,” OASIS SSTC (March 2005), http:// docs.oasis- open.org/security/saml/v2.0/saml-authn-context-2.0-os.pdf.

[SAMLBind] Scott Cantor et al, “Bindings for the OASIS Security Assertion Markup Language (SAML) V2.0,” OASIS SSTC (March 2005), http://docs.oasis-open.org/security/saml/v2.0/saml-bindings-2.0-os.pdf

[SAMLConf] Prateek Mishra et al, “Conformance Requirements for the OASIS Security Assertion Markup Language (SAML) V2.0,” OASIS SSTC (March 2005). http://docs.oasis-open.org/security/saml/v2.0/saml-conformance-2.0-os.pdf.

[SAMLCore] S. Cantor et al, “Assertions and Protocols for the OASIS Security Assertion Markup Language (SAML) V2.0,” OASIS SSTC (March 2005), http://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf.

[SAMLErrata] Jahan Moreh, “Errata for the OASIS Security 2 Assertion Markup Language (SAML) V2.0, Working Draft 28,” OASIS SSTC (May 8, 2006), http://www.oasis-open.org/committees/download.php/18070/sstc-saml-errata-2.0-draft-28.pdf

[SAMLLDAP] S. Cantor et al, “SAML V2.0 X.500/LDAP Attribute Profile,” OASIS SSTC (December 19, 2006), http://docs.oasis-open.org/security/saml/SpecDrafts-Post2.0/sstc-saml-attribute-x500-cd-01.pdf

[SAMLMeta] S. Cantor et al, “Metadata for the OASIS Security Assertion Markup Language (SAML) V2.0,” OASIS SSTC (March 2005), http://docs.oasis-open.org/security/saml/v2.0/saml-metadata-2.0-os.pdf.

[SAMLMetaExt] Tom Scavo et al, “SAML Metadata Extension for Query Requesters, Committee Draft 01”, OASIS SSTC (March 2006), http://www.oasis-open.org/committees/download.php/18052/sstc-saml-metadata-ext-query-cd-01.pdf

[SAMLProf] S. Cantor et al, “Profiles for the OASIS Security Assertion Markup Language (SAML) V2.0,” OASIS SSTC (March 2005), http://docs.oasis-open.org/security/saml/v2.0/saml-profiles-2.0-os.pdf.

[SAMLSec] Frederick Hirsch et al, “Security and Privacy Considerations for the OASIS Security Assertion Markup Language (SAML) V2.0,” OASIS SSTC (March 2005), http://docs.oasis-open.org/security/saml/v2.0/saml-sec-consider-2.0-os.pdf

Liberty Alliance Project

52

1377

1378137913801381

13821383

138413851386

138713881389

139013911392

139313941395

1396139713981399

140014011402

140314041405

1406140714081409

141014111412

1413141414151416

Page 53: SAML 2.0 Interop Test Plan - Liberty · PDF fileLiberty Alliance Project Version 3.2.2 SAML 2.0 Test Steps Introduction Overview of Test Plan This document is the Liberty SAML 2.0

Liberty Alliance Project Version 3.2.2SAML 2.0 Test Steps

Liberty Alliance Project

53