[
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)