Hi Team, I am trying to generate access token by writing in JSR223 script. I am using following code to generate access token: String getBearerToken() {
// Scopes should be split into an array if they are in a single string int maxBearerCount = 500; try { // Initialize SecretClient to retrieve the certificate from Azure Key Vault SecretClient secretClient = new SecretClientBuilder() .vaultUrl(keyVaultUrl) .credential(new DefaultAzureCredentialBuilder().build()) .buildClient() // Retrieve and decode the certificate String certificate = secretClient.getSecret(certificateName).getValue() byte[] pfxData = Base64.getDecoder().decode(certificate) // Convert byte array to InputStream InputStream pfxStream = new ByteArrayInputStream(pfxData) // Create a credential using the certificate ClientCertificateCredential credential = new ClientCertificateCredentialBuilder() .tenantId(tenantId) .clientId(clientId) .pfxCertificate(pfxStream) // Use empty string for password if none .sendCertificateChain(true) .build() // Request a token // TokenRequestContext tokenRequestContext = new TokenRequestContext().setScopes([scope]) // Create a TokenRequestContext and set the scopes TokenRequestContext tokenRequestContext = new TokenRequestContext().setScopes([scope]) log.info("Token request context: " + tokenRequestContext) AccessToken accessToken = credential.getToken(tokenRequestContext).block() // Return the token if available if (accessToken != null) { String bearerToken1 =accessToken.getToken() log.info("Token " + bearerToken1) return bearerToken1 } else { return null } } catch (Exception e) { log.error("Failed to get token: " + e.getMessage()) return null } } // Save the token to a JMeter variable if needed vars.put("bearerToken", getBearerToken()) I added all the required dependencies still I am getting following error, every time when I am running JMeter 2024-08-22 14:37:00,108 INFO o.a.j.t.JMeterThread: Thread finished: Thread Group 1-1 2024-08-22 14:37:00,108 ERROR o.a.j.JMeter: Uncaught exception in thread Thread[Thread Group 1-1,6,main] java.lang.NoClassDefFoundError: com/nimbusds/common/contenttype/ContentType at com.nimbusds.oauth2.sdk.http.HTTPMessage.setContentType(HTTPMessage.java:104) ~[oauth2-oidc-sdk-11.18.jar:11.18] at com.nimbusds.oauth2.sdk.http.HTTPRequest.setContentType(HTTPRequest.java:74) ~[oauth2-oidc-sdk-11.18.jar:11.18] at com.microsoft.aad.msal4j.TokenRequestExecutor.createOauthHttpRequest(TokenRequestExecutor.java:44) ~[msal4j-1.16.2.jar:1.16.2] at com.microsoft.aad.msal4j.TokenRequestExecutor.executeTokenRequest(TokenRequestExecutor.java:34) ~[msal4j-1.16.2.jar:1.16.2] at com.microsoft.aad.msal4j.AbstractApplicationBase.acquireTokenCommon(AbstractApplicationBase.java:57) ~[msal4j-1.16.2.jar:1.16.2] at com.microsoft.aad.msal4j.AcquireTokenByAuthorizationGrantSupplier.execute(AcquireTokenByAuthorizationGrantSupplier.java:63) ~[msal4j-1.16.2.jar:1.16.2] at com.microsoft.aad.msal4j.AcquireTokenByClientCredentialSupplier.acquireTokenByClientCredential(AcquireTokenByClientCredentialSupplier.java:86) ~[msal4j-1.16.2.jar:1.16.2] at com.microsoft.aad.msal4j.AcquireTokenByClientCredentialSupplier.execute(AcquireTokenByClientCredentialSupplier.java:49) ~[msal4j-1.16.2.jar:1.16.2] Could you please suggest how can I resolve this issue? Regards, Raghunandan