ok. Let me discuss a little more, then formulate more specific questions - since that evidently the preferred style of MSDN forums.
Lets assume I choose to configure ACS to mint a SAML2 token (to be borne back to the RP using a ws-fedp protocol run, vs a SAML2 protocol run)
In this flow, the RP sends a request bearing idp-identifier to ACS (which thus proxies the request to the nominated IDP). The IDP's response (a SAML1 token say) will be proxied by ACS back to the RP, after claims transformation and SAML2 token rewriting.
If, for some reason, the RP sends exactly the same request again a second later, ACS will perform exactly the same actions as above (from your initial response). The IDP may well behave differently, and probably will do becuase it maintains an IDP session
for the user. This non-ACS matter wil probably enable the user to avoid a challenge on the second run.
ACS will not, for example, for the second case, "reissue" the "same" token as returned in the first round, bearing the same session identifier in the SAML2 token as was used earlier.
Q: is it true that the SAML2 token from ACS does not implement the semantics of authentication statements and its sessionindex field specifically (see
http://msdn.microsoft.com/en-us/library/microsoft.identitymodel.tokens.saml2.saml2authenticationstatement.sessionindex.aspx)
This is relevant to those RPs using ACS which are not built upon WIF libraries. (WIF libraries will no doubt take care of these issues, as intended by the ACS use cases). Non-WIF ws-fedp relying parties interworking with ACS need to know the session
semantics the ACS upholds, when acting as an FP. As an FP, issuing an SAML2 token, it may or may not be implementing, formally, the SAML2 "IDP proxy" use case (or similar) - which impacts the sessionindex value. It may just be borrowing the SAML2 format while
not implementing all the fields per their use in the various SAML2 "protocols". After all, this is a ws-fedp protocol's profile of the genric SAML2 format type, not the SAML2 protocol's profile (of the SAML2 assertion type).
Q: is there anything an IDP can do in formulating the token to be returned to ACS to enable ACS to populate the sessionIndex field within the SAML2 token it asserts to the requesting RP?
Q: is there anything an IDP can do in formulating the token to be returned to ACS to enable ACS to return the same sessionIndex field within the SAML2 token it asserts to the requesting RP, for the life of the (initial) SAML2 token?
I assume the answers to the 3 Qs will be 3 no responses. But, its worth confirming the details, I feel. Its all relevant to deciding how well ACS fits into a mature websso world, or not; one built around the session semantics of SAML2. It helps understand
what role it might play, and what role other websso-related agents must continue to play.