private void getOidcProviderConfigurationEndpoint(OpenAPI openAPI, SecurityFilterChain securityFilterChain, boolean openapi31) {
		Class<OidcProviderConfigurationEndpointFilter> oidcProviderConfigurationEndpointFilterClass = OidcProviderConfigurationEndpointFilter.class;
		Object oAuth2EndpointFilter =
				new SpringDocSecurityOAuth2EndpointUtils(oidcProviderConfigurationEndpointFilterClass).findEndpoint(securityFilterChain);

		if (oAuth2EndpointFilter != null) {
			ApiResponses apiResponses = new ApiResponses();
			buildApiResponsesOnSuccess(apiResponses, AnnotationsUtils.resolveSchemaFromType(SpringDocOidcProviderConfiguration.class, openAPI.getComponents(), null, openapi31));
			buildApiResponsesOnInternalServerError(apiResponses);
			Operation operation = buildOperation(apiResponses);

			Field field = ReflectionUtils.findField(oidcProviderConfigurationEndpointFilterClass, "DEFAULT_OIDC_PROVIDER_CONFIGURATION_ENDPOINT_URI");
			if (field != null) {
				ReflectionUtils.makeAccessible(field);
				String defaultOidcConfigUri = (String) ReflectionUtils.getField(field, null);
				openAPI.getPaths().addPathItem(defaultOidcConfigUri, new PathItem().get(operation));
				operation = buildOperation(apiResponses);
				operation.addParametersItem(new PathParameter().name("subpath").schema(new StringSchema()));
				operation.summary("Valid when multiple issuers are allowed");
				openAPI.getPaths().addPathItem("/{subpath}" + defaultOidcConfigUri, new PathItem().get(operation));
			}
		}
	}
Gets OpenID Provider endpoint filter

@param openAPI             the open api
@param securityFilterChain the security filter chain
@param openapi31           the openapi 31
springdoc-openapi-starter-common/src/main/java/org/springdoc/core/configuration/SpringDocSecurityOAuth2Customizer.java