@GetMapping(path = SamlIdPConstants.ENDPOINT_SAML2_SSO_PROFILE_CALLBACK)
    @Operation(summary = "Handle SAML2 SSO Callback Profile Request")
    protected ModelAndView handleCallbackProfileRequestGet(final HttpServletResponse response,
                                                           final HttpServletRequest request) throws Throwable {
        autoConfigureCookiePath(request);
        val properties = configurationContext.getCasProperties();
        val type = properties.getAuthn().getSamlIdp().getCore().getSessionStorageType();
        if (type.isBrowserStorage()
            && !request.getParameterMap().containsKey(BrowserStorage.PARAMETER_BROWSER_STORAGE)) {
            val context = new JEEContext(request, response);
            val sessionStorage = configurationContext.getSessionStore()
                .getTrackableSession(context).map(BrowserStorage.class::cast)
                .orElseThrow(() -> new IllegalStateException("Unable to determine trackable session for storage"));
            return new ModelAndView(CasWebflowConstants.VIEW_ID_BROWSER_STORAGE_READ,
                BrowserStorage.PARAMETER_BROWSER_STORAGE, sessionStorage);
        }
        return handleProfileRequest(response, request);
    }
Handle callback profile request.

@param response the response
@param request  the request
@return the model and view
@throws Exception the exception
support/cas-server-support-saml-idp-web/src/main/java/org/apereo/cas/support/saml/web/idp/profile/sso/SSOSamlIdPProfileCallbackHandlerController.java