How to get the Access Token in Okta SSO, Getting java.io.FileNotFoundException

Viewed 41

I am new to the Okta SSO, trying to get the Access token using below code.Am i using right API and package to do this? Please suggest, Thanks in advance

     private com.microsoft.aad.adal4j.AuthenticationResult.AuthenticationResult getAccessToken(
                AuthorizationCode authorizationCode, String currentUri)
                throws Throwable {
            String authCode = authorizationCode.getValue();
            ClientCredential credential = new ClientCredential(clientId,
                    clientSecret);
            com.microsoft.aad.adal4j.AuthenticationContext context = null;
            com.microsoft.aad.adal4j.AuthenticationResult result = null;
            java.util.concurrent.ExecutorService service = null;
            try {
                service = Executors.newFixedThreadPool(1);
                context = new AuthenticationContext("https://dev-xxxxxxx.okta.com/oauth2/oauth2/authorize", true,
                        service);
                Future<AuthenticationResult> future = context.acquireTokenByAuthorizationCode(authCode, new URI(currentUri), credential, null);
                
                result = future.get();
            } catch (ExecutionException e) {
                throw e.getCause();
            } catch(InterruptedException e){
                LOGGER.error(e);
            } catch(MalformedURLException e){
                LOGGER.error("Malformed URL :"+e);
            }finally {
                service.shutdown();
            }

            if (result == null) {
                throw new ServiceUnavailableException(
                        "authentication result was null");
            }
            return result;
        }

10:59:05,653 ERROR AuthenticationContext:148 - [Correlation ID: cc2fccef-6c3c-4638-ae53-02d8ac2504c7] Request to acquire token failed. java.io.FileNotFoundException: https://xxxxxx/common/discovery/instance?api-version=1.0&authorization_endpoint=https://xxxxxxxx/oauth2/oauth2/authorize at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1872) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474) at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254) at com.microsoft.aad.adal4j.HttpHelper.readResponseFromConnection(HttpHelper.java:86) at com.microsoft.aad.adal4j.HttpHelper.getResponse(HttpHelper.java:182) at com.microsoft.aad.adal4j.HttpHelper.executeGetRequest(HttpHelper.java:158) at com.microsoft.aad.adal4j.HttpHelper.executeHttpGet(HttpHelper.java:59) at com.microsoft.aad.adal4j.AuthenticationAuthority.doDynamicInstanceDiscovery(AuthenticationAuthority.java:149) at com.microsoft.aad.adal4j.AuthenticationAuthority.doInstanceDiscovery(AuthenticationAuthority.java:135) at com.microsoft.aad.adal4j.AuthenticationContext.acquireTokenCommon(AuthenticationContext.java:775) at com.microsoft.aad.adal4j.AuthenticationContext.access$100(AuthenticationContext.java:64) at com.microsoft.aad.adal4j.AuthenticationContext$1.call(AuthenticationContext.java:141) at com.microsoft.aad.adal4j.AuthenticationContext$1.call(AuthenticationContext.java:130)

0 Answers
Related