[ https://issues.apache.org/jira/browse/KNOX-641?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15061992#comment-15061992 ]
Larry McCay commented on KNOX-641: ---------------------------------- Hi [~jleleu] - you can certainly weigh in on the dev@ DISCUSS thread as well. To me, it comes down to whether we could get our heads around testing it as a new major feature in 0.7.0 without delaying that release. For some of the authentication mechanisms, we need public facing applications - IIUC. What has been proposed is to release the features and bugs fixes that comprise 0.7.0 and shortly after identify those pac4j usecases and testing requirements for a quick follow up release introducing the new capabilities. Removing the identity provider session will absolutely work. I just want to make sure that we understand what it will mean behavior-wise though: * IdP is configured for some session lifetime and expectations are that authentication will not be needed until it expires * Where this authentication event is being federated by KnoxSSO however the IdP session will be removed by the pac4j-provider QUESTION: is this IdP session KnoxSSO/pac4j provider specific through the KnoxSession of the provider or is it browser wide for the IdP itself? * Since the IdP session is now removed, as soon as the KnoxSSO token/cookie expires the user will need to be rechallenged. UNLESS: there is an application level session that is based on their own cookie that supersedes the KnoxSSO cookie use. This is the case in some integrations like Ambari. They use the KnoxSSO cookie to establish an application level session and that takes over until it expires. If, once it does expire, the KnoxSSO cookie is still valid then they are not rechallenged and that cookie is used again to create a new Ambari session. I do want to double check that removing the pac4j session doesn't remove the idp session for other applications that the browser may be using with a SSO session with that idp. We don't want to log them out of other apps. Comparing this to other implementations: * Shibboleth/Keystone (SAML) through Picketlink - will continue to leverage the shibboleth session until it expires therefore even though the KnoxSSO token/cookie expires once redirected back to the IdP they are not presented with a login page until that session expires. * HTTP Basic Auth - not entirely sure this is the same thing or not but the Basic credentials are cached by the browser so that the user isn't challenged again with the browser Basic dialog. There is an alternative to consider however, a test specific cookie could be added when a user is authenticated with the testBasicAuth mechanism. We could look for this cookie before accepting the previous session as valid against whether testBasicAuth is currently enabled. If it is not, remove the idp cookies and redirect back to KnoxSSO to reauthenticate. This would prevent a testBasicAuth session from being valid when it is no longer actively configured. I look forward to the new patch and drilling down into the specific usecases to support for 0.8.0 and how to test them. > Support CAS / OAuth / OpenID C / SAML protocols using pac4j > ----------------------------------------------------------- > > Key: KNOX-641 > URL: https://issues.apache.org/jira/browse/KNOX-641 > Project: Apache Knox > Issue Type: New Feature > Reporter: Jérôme Leleu > Assignee: Jérôme Leleu > Fix For: 0.7.0 > > Attachments: KNOX-641.patch > > -- This message was sent by Atlassian JIRA (v6.3.4#6332)