Java Code Examples for org.jasig.cas.web.support.WebUtils#putLogoutRequests()
The following examples show how to use
org.jasig.cas.web.support.WebUtils#putLogoutRequests() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: TerminateSessionAction.java From springboot-shiro-cas-mybatis with MIT License | 6 votes |
/** * Terminates the CAS SSO session by destroying the TGT (if any) and removing cookies related to the SSO session. * * @param context Request context. * * @return "success" */ public Event terminate(final RequestContext context) { // in login's webflow : we can get the value from context as it has already been stored String tgtId = WebUtils.getTicketGrantingTicketId(context); // for logout, we need to get the cookie's value if (tgtId == null) { final HttpServletRequest request = WebUtils.getHttpServletRequest(context); tgtId = this.ticketGrantingTicketCookieGenerator.retrieveCookieValue(request); } if (tgtId != null) { WebUtils.putLogoutRequests(context, this.centralAuthenticationService.destroyTicketGrantingTicket(tgtId)); } final HttpServletResponse response = WebUtils.getHttpServletResponse(context); this.ticketGrantingTicketCookieGenerator.removeCookie(response); this.warnCookieGenerator.removeCookie(response); return this.eventFactorySupport.success(this); }
Example 2
Source File: TerminateSessionAction.java From cas4.0.x-server-wechat with Apache License 2.0 | 6 votes |
/** * Terminates the CAS SSO session by destroying the TGT (if any) and removing cookies related to the SSO session. * * @param context Request context. * * @return "success" */ public Event terminate(final RequestContext context) { // in login's webflow : we can get the value from context as it has already been stored String tgtId = WebUtils.getTicketGrantingTicketId(context); // for logout, we need to get the cookie's value if (tgtId == null) { final HttpServletRequest request = WebUtils.getHttpServletRequest(context); tgtId = this.ticketGrantingTicketCookieGenerator.retrieveCookieValue(request); } if (tgtId != null) { WebUtils.putLogoutRequests(context, this.centralAuthenticationService.destroyTicketGrantingTicket(tgtId)); } final HttpServletResponse response = WebUtils.getHttpServletResponse(context); this.ticketGrantingTicketCookieGenerator.removeCookie(response); this.warnCookieGenerator.removeCookie(response); return this.eventFactorySupport.success(this); }
Example 3
Source File: FrontChannelLogoutActionTests.java From cas4.0.x-server-wechat with Apache License 2.0 | 6 votes |
@Test public void testLogoutOneLogoutRequestNotAttempted() throws Exception { final String FAKE_URL = "http://url"; LogoutRequest logoutRequest = new LogoutRequest(TICKET_ID, new SimpleWebApplicationServiceImpl(FAKE_URL)); WebUtils.putLogoutRequests(this.requestContext, Arrays.asList(logoutRequest)); this.requestContext.getFlowScope().put(FrontChannelLogoutAction.LOGOUT_INDEX, 0); final Event event = this.frontChannelLogoutAction.doExecute(this.requestContext); assertEquals(FrontChannelLogoutAction.REDIRECT_APP_EVENT, event.getId()); List<LogoutRequest> list = WebUtils.getLogoutRequests(this.requestContext); assertEquals(1, list.size()); final String url = (String) event.getAttributes().get("logoutUrl"); assertTrue(url.startsWith(FAKE_URL + "?SAMLRequest=")); final byte[] samlMessage = Base64.decodeBase64(URLDecoder.decode(StringUtils.substringAfter(url, "?SAMLRequest="), "UTF-8")); final Inflater decompresser = new Inflater(); decompresser.setInput(samlMessage); final byte[] result = new byte[1000]; decompresser.inflate(result); decompresser.end(); final String message = new String(result); assertTrue(message.startsWith("<samlp:LogoutRequest xmlns:samlp=\"urn:oasis:names:tc:SAML:2.0:protocol\" ID=\"")); assertTrue(message.indexOf("<samlp:SessionIndex>" + TICKET_ID + "</samlp:SessionIndex>") >= 0); }
Example 4
Source File: FrontChannelLogoutActionTests.java From springboot-shiro-cas-mybatis with MIT License | 5 votes |
@Test public void verifyLogoutOneLogoutRequestSuccess() throws Exception { final DefaultLogoutRequest logoutRequest = new DefaultLogoutRequest("", null, null); logoutRequest.setStatus(LogoutRequestStatus.SUCCESS); WebUtils.putLogoutRequests(this.requestContext, Collections.<LogoutRequest>emptyList()); this.requestContext.getFlowScope().put(FrontChannelLogoutAction.LOGOUT_INDEX, 0); final Event event = this.frontChannelLogoutAction.doExecute(this.requestContext); assertEquals(FrontChannelLogoutAction.FINISH_EVENT, event.getId()); }
Example 5
Source File: LogoutActionTests.java From springboot-shiro-cas-mybatis with MIT License | 5 votes |
@Test public void verifyLogoutRequestBack() throws Exception { final Cookie cookie = new Cookie(COOKIE_TGC_ID, "test"); this.request.setCookies(cookie); final LogoutRequest logoutRequest = new DefaultLogoutRequest("", null, null); logoutRequest.setStatus(LogoutRequestStatus.SUCCESS); WebUtils.putLogoutRequests(this.requestContext, Arrays.asList(logoutRequest)); final Event event = this.logoutAction.doExecute(this.requestContext); assertEquals(LogoutAction.FINISH_EVENT, event.getId()); }
Example 6
Source File: LogoutActionTests.java From springboot-shiro-cas-mybatis with MIT License | 5 votes |
@SuppressWarnings("unchecked") @Test public void verifyLogoutRequestFront() throws Exception { final Cookie cookie = new Cookie(COOKIE_TGC_ID, "test"); this.request.setCookies(cookie); final LogoutRequest logoutRequest = new DefaultLogoutRequest("", null, null); WebUtils.putLogoutRequests(this.requestContext, Arrays.asList(logoutRequest)); final Event event = this.logoutAction.doExecute(this.requestContext); assertEquals(LogoutAction.FRONT_EVENT, event.getId()); final List<LogoutRequest> logoutRequests = WebUtils.getLogoutRequests(this.requestContext); assertEquals(1, logoutRequests.size()); assertEquals(logoutRequest, logoutRequests.get(0)); }
Example 7
Source File: FrontChannelLogoutActionTests.java From cas4.0.x-server-wechat with Apache License 2.0 | 5 votes |
@Test public void testLogoutOneLogoutRequestSuccess() throws Exception { final LogoutRequest logoutRequest = new LogoutRequest("", null); logoutRequest.setStatus(LogoutRequestStatus.SUCCESS); WebUtils.putLogoutRequests(this.requestContext, Collections.<LogoutRequest>emptyList()); this.requestContext.getFlowScope().put(FrontChannelLogoutAction.LOGOUT_INDEX, 0); final Event event = this.frontChannelLogoutAction.doExecute(this.requestContext); assertEquals(FrontChannelLogoutAction.FINISH_EVENT, event.getId()); }
Example 8
Source File: LogoutActionTests.java From cas4.0.x-server-wechat with Apache License 2.0 | 5 votes |
@Test public void testLogoutRequestBack() throws Exception { final Cookie cookie = new Cookie(COOKIE_TGC_ID, "test"); this.request.setCookies(new Cookie[] {cookie}); LogoutRequest logoutRequest = new LogoutRequest("", null); logoutRequest.setStatus(LogoutRequestStatus.SUCCESS); WebUtils.putLogoutRequests(this.requestContext, Arrays.asList(logoutRequest)); final Event event = this.logoutAction.doExecute(this.requestContext); assertEquals(LogoutAction.FINISH_EVENT, event.getId()); }
Example 9
Source File: LogoutActionTests.java From cas4.0.x-server-wechat with Apache License 2.0 | 5 votes |
@SuppressWarnings("unchecked") @Test public void testLogoutRequestFront() throws Exception { final Cookie cookie = new Cookie(COOKIE_TGC_ID, "test"); this.request.setCookies(new Cookie[] {cookie}); final LogoutRequest logoutRequest = new LogoutRequest("", null); WebUtils.putLogoutRequests(this.requestContext, Arrays.asList(logoutRequest)); final Event event = this.logoutAction.doExecute(this.requestContext); assertEquals(LogoutAction.FRONT_EVENT, event.getId()); List<LogoutRequest> logoutRequests = WebUtils.getLogoutRequests(this.requestContext); assertEquals(1, logoutRequests.size()); assertEquals(logoutRequest, logoutRequests.get(0)); }
Example 10
Source File: FrontChannelLogoutActionTests.java From springboot-shiro-cas-mybatis with MIT License | 4 votes |
@Test public void verifyLogoutNoIndex() throws Exception { WebUtils.putLogoutRequests(this.requestContext, Collections.<LogoutRequest>emptyList()); final Event event = this.frontChannelLogoutAction.doExecute(this.requestContext); assertEquals(FrontChannelLogoutAction.FINISH_EVENT, event.getId()); }
Example 11
Source File: FrontChannelLogoutActionTests.java From springboot-shiro-cas-mybatis with MIT License | 4 votes |
private Event getLogoutEvent(final List<LogoutRequest> requests) throws Exception { WebUtils.putLogoutRequests(this.requestContext, requests); this.requestContext.getFlowScope().put(FrontChannelLogoutAction.LOGOUT_INDEX, 0); return this.frontChannelLogoutAction.doExecute(this.requestContext); }
Example 12
Source File: FrontChannelLogoutActionTests.java From cas4.0.x-server-wechat with Apache License 2.0 | 4 votes |
@Test public void testLogoutNoIndex() throws Exception { WebUtils.putLogoutRequests(this.requestContext, Collections.<LogoutRequest>emptyList()); final Event event = this.frontChannelLogoutAction.doExecute(this.requestContext); assertEquals(FrontChannelLogoutAction.FINISH_EVENT, event.getId()); }