AZURE AD ADAL "error":"invalid_grant","error_description":"AADSTS70000: Transmission data parser failure: Authorization Code is malformed or invalid

Viewed 2963

I am trying to Authenticate using AZURE AD. I took the java client code from the git [https://github.com/Azure-Samples/active-directory-java-webapp-openidconnect][1].

I am able to make the authorize call and get the Authorization code. By passing the authorization code to get the access token using the acquireTokenByAuthorizationCode method from the oauth2 jar. Here I am getting the below error.

"error":"invalid_grant","error_description":"AADSTS70000: Transmission data parser failure: Authorization Code is malformed or invalid.

How to pass the grant_type=authorization_code to the acquireTokenByAuthorizationCode method?

How to check the post request which got fired? I am not able to see it in the network section of the chrome?

Below is the code:

        String authCode = authorizationCode.getValue();
        ClientCredential credential = new ClientCredential(clientId,
                clientSecret);
        AuthenticationContext context;
        AuthenticationResult result = null;
        ExecutorService service = null;
        try {

            ThreadFactory factory = ThreadManager.currentRequestThreadFactory();
            service = Executors.newCachedThreadPool(factory);

            context = new AuthenticationContext(authority + tenant + "/", true,
                    service);

            Future<AuthenticationResult> future = context
                    .acquireTokenByAuthorizationCode(authCode, new URI(
                            currentUri), credential, null);

The post request should be: String redirectUrl = authority + this.tenant + "/oauth2/v2.0/token?p=b2c_1_abcd&grant_type=authorization_code&resource=https%3a%2f%2fgraph.windows.net&redirect_uri=" + URLEncoder.encode(REDIRECT_URL, "UTF-8");

Not sure how to provide the information which is in bold.

1 Answers
Related