OidcConfiguration devOpsOidcConfiguration = new OidcConfiguration();
devOpsOidcConfiguration.setClientId("<client_id>");
devOpsOidcConfiguration.setSecret("<secret>");
devOpsOidcConfiguration.setResponseType("code"); // "Assertion" here fails
devOpsOidcConfiguration.setUseNonce(true);
devOpsOidcConfiguration.addCustomParam("prompt", "consent");
devOpsOidcConfiguration.setScope("openid vso.code_full");
List<SubjectType> subjectTypes = Arrays.asList(SubjectType.PUBLIC);
OIDCProviderMetadata providerMetaData = new OIDCProviderMetadata(issuer, subjectTypes, jwkSetURI);
List<ResponseType> responseTypes = Arrays.asList(ResponseType.CODE); // here no "Assertion" value is available
providerMetaData.setResponseTypes(responseTypes);
devOpsOidcConfiguration.setProviderMetadata(providerMetaData);
Client devOpsClient = new OidcClient(devOpsOidcConfiguration);
String contextPath = event.getServletContext().getContextPath();
final Clients clients = new Clients(
devOpsClient
);
final Config config = new Config(clients);
final FilterHelper filterHelper = new FilterHelper(event.getServletContext());
final CallbackFilter callbackFilter = new CallbackFilter(config, "/");
callbackFilter.setRenewSession(true);
filterHelper.addFilterMapping("callbackFilter", callbackFilter, "/callback*");
final SecurityFilter devOpsFilter = new SecurityFilter(config, "OidcClient", DefaultAuthorizers.NONE);
filterHelper.addFilterMapping("devOpsFilter", devOpsFilter, "/app/*");