<div dir="ltr"><div><div><div><div><div>Hi,<br><br></div>Not sure if it is a question to user list or dev list, I am just sending to user list.<br><br></div>I am trying to get a deeper understanding about how IdP manages the session for each user. For example if the same user log into the same SP at different places, how IdP manage the sessions for this user.<br>
<br></div>Here is what I did:<br><br></div>1. Login as "administrator" in Firefox. In the log, I see: <br></div><br>Line 2991: 14:03:34.811 - TRACE [edu.internet2.middleware.shibboleth.idp.session.impl.SessionManagerImpl:173] - Added index administrator to session f448a6c60220b0df53925ff56dce64cb03b3dc13690e8c575bb6d7fa0d6939eb<br>
<br>Line 3661: 14:03:34.899 - TRACE [edu.internet2.middleware.shibboleth.idp.session.impl.SessionManagerImpl:173] - Added index administrator|urn:oasis:names:tc:SAML:2.0:nameid-format:persistent|<a href="https://XXX:8443/idp/shibboleth|http://XXX:8900/test">https://XXX:8443/idp/shibboleth|http://XXX:8900/test</a> to session f448a6c60220b0df53925ff56dce64cb03b3dc13690e8c575bb6d7fa0d6939eb<br clear="all">
<div><div><div><div><div><div><div><div><div><br></div><div>2. Login as "administrator" in Chrome. In the log, I see:<br><br></div><div>Line 4358: 14:43:16.448 - TRACE [edu.internet2.middleware.shibboleth.idp.session.impl.SessionManagerImpl:173] - Added index administrator to session 51c8167de0fca493651a204010c6719e95b1e68b21192d6fb7bdf64ae1a5cd2a<br>
<br>Line 4661: 14:43:34.899 - TRACE
[edu.internet2.middleware.shibboleth.idp.session.impl.SessionManagerImpl:173]
- Added index
administrator|urn:oasis:names:tc:SAML:2.0:nameid-format:persistent|<a href="https://XXX:8443/idp/shibboleth|http://XXX:8900/test">https://XXX:8443/idp/shibboleth|http://XXX:8900/test</a>
to session 51c8167de0fca493651a204010c6719e95b1e68b21192d6fb7bdf64ae1a5cd2a<br clear="all"><div><br></div><br>I am also looking at the source code. If I understand correctly, IdP will create a session for each user who logs into each browser. Each session will have multiple index, from what I see in the source code, index could be principla name, session-id, "principla-name|principal-format|NameQualifier|SPNameQualifier", and so on. All the sessions will be stored in to a SessionStore, and is retrievable using different kinds of index.<br>
<br>But what I don't understand if that one index may represent multiple sessions, for example in my previous example, IdP has added index "administrator" to two different sessions. The later one will replace the previous one in the SessionStore, then the only way to retrieve the old session is through session-id, not through other index. Am I understanding correctly? Did I miss anything on it?<br>
<br>Then what is the purpose of these different kinds of index for each session?<br><br><br>Thanks,<br>Yaowen</div>
</div></div></div></div></div></div></div></div></div>