@Override
    public OidcPushedAuthorizationRequest create(final AccessTokenRequestContext holder) throws Throwable {
        val request = SerializationUtils.serialize(holder);
        val id = idGenerator.getNewTicketId(OidcPushedAuthorizationRequest.PREFIX);
        val expirationPolicy = determineExpirationPolicyForService(holder.getRegisteredService());
        val par = new OidcDefaultPushedAuthorizationRequest(id, expirationPolicy,
            holder.getAuthentication(), holder.getService(), holder.getRegisteredService(),
            EncodingUtils.encodeBase64(request));
        par.setTenantId(holder.getService().getTenant());
        FunctionUtils.doIfNotNull(holder.getService(), __ -> par.setTenantId(holder.getService().getTenant()));
        return par;
    }
Default instance for the ticket id generator.
support/cas-server-support-oidc-core-api/src/main/java/org/apereo/cas/oidc/ticket/OidcDefaultPushedAuthorizationRequestFactory.java