{"action":"created","comment":{"url":"https://api.github.com/repos/apereo/cas/pulls/comments/150995975","pull_request_review_id":76633126,"id":150995975,"diff_hunk":"@@ -0,0 +1,85 @@\n+package org.apereo.cas.support.pac4j.web.flow;\n+\n+import java.util.List;\n+\n+import javax.servlet.http.HttpServletRequest;\n+import javax.servlet.http.HttpServletResponse;\n+\n+import org.apereo.cas.CentralAuthenticationService;\n+import org.apereo.cas.configuration.model.core.logout.LogoutProperties;\n+import org.apereo.cas.logout.LogoutRequest;\n+import org.apereo.cas.web.flow.TerminateSessionAction;\n+import org.apereo.cas.web.support.CookieRetrievingCookieGenerator;\n+import org.apereo.cas.web.support.WebUtils;\n+import org.slf4j.Logger;\n+import org.slf4j.LoggerFactory;\n+import org.springframework.webflow.action.EventFactorySupport;\n+import org.springframework.webflow.execution.Event;\n+import org.springframework.webflow.execution.RequestContext;\n+\n+import com.google.common.base.Throwables;\n+\n+\n+/**\n+ * A light version of {@link TerminateSessionAction} that does NOT destroy the HTTP session, only destroys the TGT and cookies.","path":"support/cas-server-support-pac4j-core-clients/src/main/java/org/apereo/cas/support/pac4j/web/flow/DestroyTgtAndCookiesAction.java","position":24,"original_position":24,"commit_id":"2d0ee2d575619ab3cb24a18126a3dcd9a2a92148","original_commit_id":"2d0ee2d575619ab3cb24a18126a3dcd9a2a92148","user":{"login":"mmoayyed","id":1205228,"avatar_url":"https://avatars1.githubusercontent.com/u/1205228?v=4","gravatar_id":"","url":"https://api.github.com/users/mmoayyed","html_url":"https://github.com/mmoayyed","followers_url":"https://api.github.com/users/mmoayyed/followers","following_url":"https://api.github.com/users/mmoayyed/following{/other_user}","gists_url":"https://api.github.com/users/mmoayyed/gists{/gist_id}","starred_url":"https://api.github.com/users/mmoayyed/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mmoayyed/subscriptions","organizations_url":"https://api.github.com/users/mmoayyed/orgs","repos_url":"https://api.github.com/users/mmoayyed/repos","events_url":"https://api.github.com/users/mmoayyed/events{/privacy}","received_events_url":"https://api.github.com/users/mmoayyed/received_events","type":"User","site_admin":false},"body":"Delete this class altogether. Simply introduce a new property and use that in the original action to do what you need. Set the setting to true for your deployment.","created_at":"2017-11-14T23:33:04Z","updated_at":"2017-11-14T23:33:04Z","html_url":"https://github.com/apereo/cas/pull/3063#discussion_r150995975","pull_request_url":"https://api.github.com/repos/apereo/cas/pulls/3063","author_association":"OWNER","_links":{"self":{"href":"https://api.github.com/repos/apereo/cas/pulls/comments/150995975"},"html":{"href":"https://github.com/apereo/cas/pull/3063#discussion_r150995975"},"pull_request":{"href":"https://api.github.com/repos/apereo/cas/pulls/3063"}}},"pull_request":{"url":"https://api.github.com/repos/apereo/cas/pulls/3063","id":152298820,"html_url":"https://github.com/apereo/cas/pull/3063","diff_url":"https://github.com/apereo/cas/pull/3063.diff","patch_url":"https://github.com/apereo/cas/pull/3063.patch","issue_url":"https://api.github.com/repos/apereo/cas/issues/3063","number":3063,"state":"open","locked":false,"title":"WIP: Enhancements for PAC4J SAML Single Logout on CAS [master]","user":{"login":"jkacer","id":8087002,"avatar_url":"https://avatars3.githubusercontent.com/u/8087002?v=4","gravatar_id":"","url":"https://api.github.com/users/jkacer","html_url":"https://github.com/jkacer","followers_url":"https://api.github.com/users/jkacer/followers","following_url":"https://api.github.com/users/jkacer/following{/other_user}","gists_url":"https://api.github.com/users/jkacer/gists{/gist_id}","starred_url":"https://api.github.com/users/jkacer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jkacer/subscriptions","organizations_url":"https://api.github.com/users/jkacer/orgs","repos_url":"https://api.github.com/users/jkacer/repos","events_url":"https://api.github.com/users/jkacer/events{/privacy}","received_events_url":"https://api.github.com/users/jkacer/received_events","type":"User","site_admin":false},"body":"This PR contains enhancements that will allow proper SAML Single Logout using PAC4J.\r\nThis is a replacement for #3027 which targeted at CAS 5.1.x.\r\n\r\nThe main problems to be solved here are:\r\n\r\n- Properly construct the SAML Logout Request with data from the SAML2 profile, when the profile is not remembered between login and logout due to a missing session\r\n- The profile will be saved on login and read just before logout into the current session\r\n- The session will be invalidated at the very end of the logout flow, not earlier\r\n- The 'service' parameter for logout will be ignored if SLO is active, to prevent redirects to the service before the SLO can be done\r\n\r\nStill work in progress - incomplete, I'll be adding more changes.\r\n\r\nThe topic is being discussed here: https://groups.google.com/forum/#!topic/pac4j-dev/I2VdDIYgVNE","created_at":"2017-11-13T17:25:21Z","updated_at":"2017-11-14T23:33:04Z","closed_at":null,"merged_at":null,"merge_commit_sha":"0807516618ddb65935b512f36a107416c93aa3c6","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/apereo/cas/pulls/3063/commits","review_comments_url":"https://api.github.com/repos/apereo/cas/pulls/3063/comments","review_comment_url":"https://api.github.com/repos/apereo/cas/pulls/comments{/number}","comments_url":"https://api.github.com/repos/apereo/cas/issues/3063/comments","statuses_url":"https://api.github.com/repos/apereo/cas/statuses/2d0ee2d575619ab3cb24a18126a3dcd9a2a92148","head":{"label":"jkacer:master_enh_pac4j_single_logout","ref":"master_enh_pac4j_single_logout","sha":"2d0ee2d575619ab3cb24a18126a3dcd9a2a92148","user":{"login":"jkacer","id":8087002,"avatar_url":"https://avatars3.githubusercontent.com/u/8087002?v=4","gravatar_id":"","url":"https://api.github.com/users/jkacer","html_url":"https://github.com/jkacer","followers_url":"https://api.github.com/users/jkacer/followers","following_url":"https://api.github.com/users/jkacer/following{/other_user}","gists_url":"https://api.github.com/users/jkacer/gists{/gist_id}","starred_url":"https://api.github.com/users/jkacer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jkacer/subscriptions","organizations_url":"https://api.github.com/users/jkacer/orgs","repos_url":"https://api.github.com/users/jkacer/repos","events_url":"https://api.github.com/users/jkacer/events{/privacy}","received_events_url":"https://api.github.com/users/jkacer/received_events","type":"User","site_admin":false},"repo":{"id":93842270,"name":"cas","full_name":"jkacer/cas","owner":{"login":"jkacer","id":8087002,"avatar_url":"https://avatars3.githubusercontent.com/u/8087002?v=4","gravatar_id":"","url":"https://api.github.com/users/jkacer","html_url":"https://github.com/jkacer","followers_url":"https://api.github.com/users/jkacer/followers","following_url":"https://api.github.com/users/jkacer/following{/other_user}","gists_url":"https://api.github.com/users/jkacer/gists{/gist_id}","starred_url":"https://api.github.com/users/jkacer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jkacer/subscriptions","organizations_url":"https://api.github.com/users/jkacer/orgs","repos_url":"https://api.github.com/users/jkacer/repos","events_url":"https://api.github.com/users/jkacer/events{/privacy}","received_events_url":"https://api.github.com/users/jkacer/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jkacer/cas","description":"Apereo CAS - Enterprise Single Sign On for all earthlings and beyond.","fork":true,"url":"https://api.github.com/repos/jkacer/cas","forks_url":"https://api.github.com/repos/jkacer/cas/forks","keys_url":"https://api.github.com/repos/jkacer/cas/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jkacer/cas/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jkacer/cas/teams","hooks_url":"https://api.github.com/repos/jkacer/cas/hooks","issue_events_url":"https://api.github.com/repos/jkacer/cas/issues/events{/number}","events_url":"https://api.github.com/repos/jkacer/cas/events","assignees_url":"https://api.github.com/repos/jkacer/cas/assignees{/user}","branches_url":"https://api.github.com/repos/jkacer/cas/branches{/branch}","tags_url":"https://api.github.com/repos/jkacer/cas/tags","blobs_url":"https://api.github.com/repos/jkacer/cas/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jkacer/cas/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jkacer/cas/git/refs{/sha}","trees_url":"https://api.github.com/repos/jkacer/cas/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jkacer/cas/statuses/{sha}","languages_url":"https://api.github.com/repos/jkacer/cas/languages","stargazers_url":"https://api.github.com/repos/jkacer/cas/stargazers","contributors_url":"https://api.github.com/repos/jkacer/cas/contributors","subscribers_url":"https://api.github.com/repos/jkacer/cas/subscribers","subscription_url":"https://api.github.com/repos/jkacer/cas/subscription","commits_url":"https://api.github.com/repos/jkacer/cas/commits{/sha}","git_commits_url":"https://api.github.com/repos/jkacer/cas/git/commits{/sha}","comments_url":"https://api.github.com/repos/jkacer/cas/comments{/number}","issue_comment_url":"https://api.github.com/repos/jkacer/cas/issues/comments{/number}","contents_url":"https://api.github.com/repos/jkacer/cas/contents/{+path}","compare_url":"https://api.github.com/repos/jkacer/cas/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jkacer/cas/merges","archive_url":"https://api.github.com/repos/jkacer/cas/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jkacer/cas/downloads","issues_url":"https://api.github.com/repos/jkacer/cas/issues{/number}","pulls_url":"https://api.github.com/repos/jkacer/cas/pulls{/number}","milestones_url":"https://api.github.com/repos/jkacer/cas/milestones{/number}","notifications_url":"https://api.github.com/repos/jkacer/cas/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jkacer/cas/labels{/name}","releases_url":"https://api.github.com/repos/jkacer/cas/releases{/id}","deployments_url":"https://api.github.com/repos/jkacer/cas/deployments","created_at":"2017-06-09T09:25:56Z","updated_at":"2017-06-09T09:26:16Z","pushed_at":"2017-11-14T15:15:42Z","git_url":"git://github.com/jkacer/cas.git","ssh_url":"git@github.com:jkacer/cas.git","clone_url":"https://github.com/jkacer/cas.git","svn_url":"https://github.com/jkacer/cas","homepage":"https://apereo.github.io/cas/","size":1319544,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"apereo:master","ref":"master","sha":"50e40c2e3087bd84bc1974b659c975c41be81f7e","user":{"login":"apereo","id":4679233,"avatar_url":"https://avatars3.githubusercontent.com/u/4679233?v=4","gravatar_id":"","url":"https://api.github.com/users/apereo","html_url":"https://github.com/apereo","followers_url":"https://api.github.com/users/apereo/followers","following_url":"https://api.github.com/users/apereo/following{/other_user}","gists_url":"https://api.github.com/users/apereo/gists{/gist_id}","starred_url":"https://api.github.com/users/apereo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/apereo/subscriptions","organizations_url":"https://api.github.com/users/apereo/orgs","repos_url":"https://api.github.com/users/apereo/repos","events_url":"https://api.github.com/users/apereo/events{/privacy}","received_events_url":"https://api.github.com/users/apereo/received_events","type":"Organization","site_admin":false},"repo":{"id":2352744,"name":"cas","full_name":"apereo/cas","owner":{"login":"apereo","id":4679233,"avatar_url":"https://avatars3.githubusercontent.com/u/4679233?v=4","gravatar_id":"","url":"https://api.github.com/users/apereo","html_url":"https://github.com/apereo","followers_url":"https://api.github.com/users/apereo/followers","following_url":"https://api.github.com/users/apereo/following{/other_user}","gists_url":"https://api.github.com/users/apereo/gists{/gist_id}","starred_url":"https://api.github.com/users/apereo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/apereo/subscriptions","organizations_url":"https://api.github.com/users/apereo/orgs","repos_url":"https://api.github.com/users/apereo/repos","events_url":"https://api.github.com/users/apereo/events{/privacy}","received_events_url":"https://api.github.com/users/apereo/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/apereo/cas","description":"Apereo CAS - Enterprise Single Sign On for all earthlings and beyond.","fork":false,"url":"https://api.github.com/repos/apereo/cas","forks_url":"https://api.github.com/repos/apereo/cas/forks","keys_url":"https://api.github.com/repos/apereo/cas/keys{/key_id}","collaborators_url":"https://api.github.com/repos/apereo/cas/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/apereo/cas/teams","hooks_url":"https://api.github.com/repos/apereo/cas/hooks","issue_events_url":"https://api.github.com/repos/apereo/cas/issues/events{/number}","events_url":"https://api.github.com/repos/apereo/cas/events","assignees_url":"https://api.github.com/repos/apereo/cas/assignees{/user}","branches_url":"https://api.github.com/repos/apereo/cas/branches{/branch}","tags_url":"https://api.github.com/repos/apereo/cas/tags","blobs_url":"https://api.github.com/repos/apereo/cas/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/apereo/cas/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/apereo/cas/git/refs{/sha}","trees_url":"https://api.github.com/repos/apereo/cas/git/trees{/sha}","statuses_url":"https://api.github.com/repos/apereo/cas/statuses/{sha}","languages_url":"https://api.github.com/repos/apereo/cas/languages","stargazers_url":"https://api.github.com/repos/apereo/cas/stargazers","contributors_url":"https://api.github.com/repos/apereo/cas/contributors","subscribers_url":"https://api.github.com/repos/apereo/cas/subscribers","subscription_url":"https://api.github.com/repos/apereo/cas/subscription","commits_url":"https://api.github.com/repos/apereo/cas/commits{/sha}","git_commits_url":"https://api.github.com/repos/apereo/cas/git/commits{/sha}","comments_url":"https://api.github.com/repos/apereo/cas/comments{/number}","issue_comment_url":"https://api.github.com/repos/apereo/cas/issues/comments{/number}","contents_url":"https://api.github.com/repos/apereo/cas/contents/{+path}","compare_url":"https://api.github.com/repos/apereo/cas/compare/{base}...{head}","merges_url":"https://api.github.com/repos/apereo/cas/merges","archive_url":"https://api.github.com/repos/apereo/cas/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/apereo/cas/downloads","issues_url":"https://api.github.com/repos/apereo/cas/issues{/number}","pulls_url":"https://api.github.com/repos/apereo/cas/pulls{/number}","milestones_url":"https://api.github.com/repos/apereo/cas/milestones{/number}","notifications_url":"https://api.github.com/repos/apereo/cas/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/apereo/cas/labels{/name}","releases_url":"https://api.github.com/repos/apereo/cas/releases{/id}","deployments_url":"https://api.github.com/repos/apereo/cas/deployments","created_at":"2011-09-09T01:36:42Z","updated_at":"2017-11-14T15:05:15Z","pushed_at":"2017-11-14T23:23:32Z","git_url":"git://github.com/apereo/cas.git","ssh_url":"git@github.com:apereo/cas.git","clone_url":"https://github.com/apereo/cas.git","svn_url":"https://github.com/apereo/cas","homepage":"https://apereo.github.io/cas/","size":1319806,"stargazers_count":3323,"watchers_count":3323,"language":"Java","has_issues":false,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":1840,"mirror_url":null,"archived":false,"open_issues_count":4,"forks":1840,"open_issues":4,"watchers":3323,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/apereo/cas/pulls/3063"},"html":{"href":"https://github.com/apereo/cas/pull/3063"},"issue":{"href":"https://api.github.com/repos/apereo/cas/issues/3063"},"comments":{"href":"https://api.github.com/repos/apereo/cas/issues/3063/comments"},"review_comments":{"href":"https://api.github.com/repos/apereo/cas/pulls/3063/comments"},"review_comment":{"href":"https://api.github.com/repos/apereo/cas/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/apereo/cas/pulls/3063/commits"},"statuses":{"href":"https://api.github.com/repos/apereo/cas/statuses/2d0ee2d575619ab3cb24a18126a3dcd9a2a92148"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"mmoayyed"}}