@Test
    void verifyBackChannelLogout() throws Throwable {
        val service = getOidcRegisteredService(true, false);
        val principal = RegisteredServiceTestUtils.getPrincipal("casuser");
        var authentication = CoreAuthenticationTestUtils.getAuthentication(principal);
        val tgt = mock(TicketGrantingTicket.class);
        when(tgt.getId()).thenReturn(TGT_ID);
        when(tgt.getAuthentication()).thenReturn(authentication);
        val logoutRequest = DefaultSingleLogoutRequestContext.builder()
            .logoutType(RegisteredServiceLogoutType.BACK_CHANNEL)
            .registeredService(service)
            .executionRequest(SingleLogoutExecutionRequest.builder().ticketGrantingTicket(tgt).build())
            .build();

        val message = oidcSingleLogoutMessageCreator.create(logoutRequest);
        assertNull(message.getMessage());
        val token = message.getPayload();

        val claims = JWTParser.parse(token).getJWTClaimsSet();
        assertEquals("https://sso.example.org/cas/oidc", claims.getIssuer());
        assertEquals("casuser", claims.getSubject());
        assertEquals(service.getClientId(), claims.getAudience().getFirst());
        assertNotNull(claims.getClaim("iat"));
        assertNotNull(claims.getClaim("jti"));
        assertNotNull(claims.getClaim("exp"));
        val events = (Map<String, Object>) claims.getClaim("events");
        assertNotNull(events.get("http://schemas.openid.net/event/backchannel-logout"));
        assertEquals(DigestUtils.sha(DigestUtils.sha512(TGT_ID)), claims.getClaim(OidcConstants.CLAIM_SESSION_ID));
    }
This is {@link OidcSingleLogoutMessageCreatorTests}.

@author Jerome LELEU
@since 6.2.0
support/cas-server-support-oidc/src/test/java/org/apereo/cas/oidc/slo/OidcSingleLogoutMessageCreatorTests.java