Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can I use this to get oauth tokens from Google Oauth? #1

Open
alexjascott opened this issue Jul 5, 2023 · 3 comments
Open

Can I use this to get oauth tokens from Google Oauth? #1

alexjascott opened this issue Jul 5, 2023 · 3 comments

Comments

@alexjascott
Copy link

I have configured the Google API with an new project and project credentials. This gives me a client_id and client_secret.

I have followed the guide in the readme, and my desktop java app loads up a browser with the usual google oauth prompt. Clicking on the prompt seems to log me in, but then I get a huge stacktrace;

java.util.concurrent.ExecutionException: com.giannivanhoecke.oauth.desktop.exception.TokenException: Cannot request tokens at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:395) ~[?:?] at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2022) ~[?:?] at org.example.Main.main(Main.java:36) [classes/:?] Caused by: com.giannivanhoecke.oauth.desktop.exception.TokenException: Cannot request tokens at com.giannivanhoecke.oauth.desktop.AuthorizationCodeFlowWithPkce.sendTokenPostRequest(AuthorizationCodeFlowWithPkce.java:212) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.AuthorizationCodeFlowWithPkce.requestTokens(AuthorizationCodeFlowWithPkce.java:187) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.AuthorizationCodeFlowWithPkce.exchangeAuthorizationCode(AuthorizationCodeFlowWithPkce.java:172) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.AuthorizationCodeFlowWithPkce.callbackReceived(AuthorizationCodeFlowWithPkce.java:166) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.io.local.SuccessHttpHandler.handleResponse(SuccessHttpHandler.java:63) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.io.local.SuccessHttpHandler.handle(SuccessHttpHandler.java:37) ~[oauth-desktop-1.0.jar:?] at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:77) ~[jdk.httpserver:?] at sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:82) ~[jdk.httpserver:?] at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:80) ~[jdk.httpserver:?] at sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:849) ~[jdk.httpserver:?] at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:77) ~[jdk.httpserver:?] at sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:818) ~[jdk.httpserver:?] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?] at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?] at java.lang.Thread.run(Thread.java:834) ~[?:?] Caused by: com.giannivanhoecke.oauth.desktop.io.remote.ResourceException: Can't send data at com.giannivanhoecke.oauth.desktop.io.remote.RemoteResource.sendPayload(RemoteResource.java:74) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.io.remote.RemoteResource.post(RemoteResource.java:45) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.AuthorizationCodeFlowWithPkce.sendTokenPostRequest(AuthorizationCodeFlowWithPkce.java:210) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.AuthorizationCodeFlowWithPkce.requestTokens(AuthorizationCodeFlowWithPkce.java:187) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.AuthorizationCodeFlowWithPkce.exchangeAuthorizationCode(AuthorizationCodeFlowWithPkce.java:172) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.AuthorizationCodeFlowWithPkce.callbackReceived(AuthorizationCodeFlowWithPkce.java:166) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.io.local.SuccessHttpHandler.handleResponse(SuccessHttpHandler.java:63) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.io.local.SuccessHttpHandler.handle(SuccessHttpHandler.java:37) ~[oauth-desktop-1.0.jar:?] at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:77) ~[jdk.httpserver:?] at sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:82) ~[jdk.httpserver:?] at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:80) ~[jdk.httpserver:?] at sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:849) ~[jdk.httpserver:?] at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:77) ~[jdk.httpserver:?] at sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:818) ~[jdk.httpserver:?] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?] at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?] at java.lang.Thread.run(Thread.java:834) ~[?:?] Caused by: java.net.ConnectException at jdk.internal.net.http.HttpClientImpl.send(HttpClientImpl.java:561) ~[java.net.http:?] at jdk.internal.net.http.HttpClientFacade.send(HttpClientFacade.java:119) ~[java.net.http:?] at com.giannivanhoecke.oauth.desktop.io.remote.ResourceConnection.sendHttpRequest(ResourceConnection.java:58) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.io.remote.ResourceConnection.exec(ResourceConnection.java:45) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.io.remote.RemoteResource.sendPayload(RemoteResource.java:72) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.io.remote.RemoteResource.post(RemoteResource.java:45) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.AuthorizationCodeFlowWithPkce.sendTokenPostRequest(AuthorizationCodeFlowWithPkce.java:210) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.AuthorizationCodeFlowWithPkce.requestTokens(AuthorizationCodeFlowWithPkce.java:187) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.AuthorizationCodeFlowWithPkce.exchangeAuthorizationCode(AuthorizationCodeFlowWithPkce.java:172) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.AuthorizationCodeFlowWithPkce.callbackReceived(AuthorizationCodeFlowWithPkce.java:166) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.io.local.SuccessHttpHandler.handleResponse(SuccessHttpHandler.java:63) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.io.local.SuccessHttpHandler.handle(SuccessHttpHandler.java:37) ~[oauth-desktop-1.0.jar:?] at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:77) ~[jdk.httpserver:?] at sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:82) ~[jdk.httpserver:?] at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:80) ~[jdk.httpserver:?] at sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:849) ~[jdk.httpserver:?] at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:77) ~[jdk.httpserver:?] at sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:818) ~[jdk.httpserver:?] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?] at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?] at java.lang.Thread.run(Thread.java:834) ~[?:?] Caused by: java.net.ConnectException at jdk.internal.net.http.common.Utils.toConnectException(Utils.java:1020) ~[java.net.http:?] at jdk.internal.net.http.PlainHttpConnection.connectAsync(PlainHttpConnection.java:179) ~[java.net.http:?] at jdk.internal.net.http.AsyncSSLConnection.connectAsync(AsyncSSLConnection.java:56) ~[java.net.http:?] at jdk.internal.net.http.Http1Exchange.sendHeadersAsync(Http1Exchange.java:238) ~[java.net.http:?] at jdk.internal.net.http.Exchange.lambda$responseAsyncImpl0$8(Exchange.java:435) ~[java.net.http:?] at jdk.internal.net.http.Exchange.checkFor407(Exchange.java:367) ~[java.net.http:?] at jdk.internal.net.http.Exchange.lambda$responseAsyncImpl0$9(Exchange.java:439) ~[java.net.http:?] at java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:930) ~[?:?] at java.util.concurrent.CompletableFuture.uniHandleStage(CompletableFuture.java:946) ~[?:?] at java.util.concurrent.CompletableFuture.handle(CompletableFuture.java:2266) ~[?:?] at jdk.internal.net.http.Exchange.responseAsyncImpl0(Exchange.java:439) ~[java.net.http:?] at jdk.internal.net.http.Exchange.responseAsyncImpl(Exchange.java:343) ~[java.net.http:?] at jdk.internal.net.http.Exchange.responseAsync(Exchange.java:335) ~[java.net.http:?] at jdk.internal.net.http.MultiExchange.responseAsyncImpl(MultiExchange.java:347) ~[java.net.http:?] at jdk.internal.net.http.MultiExchange.lambda$responseAsyncImpl$7(MultiExchange.java:384) ~[java.net.http:?] at java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:930) ~[?:?] at java.util.concurrent.CompletableFuture.uniHandleStage(CompletableFuture.java:946) ~[?:?] at java.util.concurrent.CompletableFuture.handle(CompletableFuture.java:2266) ~[?:?] at jdk.internal.net.http.MultiExchange.responseAsyncImpl(MultiExchange.java:374) ~[java.net.http:?] at jdk.internal.net.http.MultiExchange.lambda$responseAsync0$2(MultiExchange.java:293) ~[java.net.http:?] at java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1072) ~[?:?] at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506) ~[?:?] at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1705) ~[?:?] at jdk.internal.net.http.HttpClientImpl$DelegatingExecutor.execute(HttpClientImpl.java:153) ~[java.net.http:?] at java.util.concurrent.CompletableFuture.completeAsync(CompletableFuture.java:2591) ~[?:?] at jdk.internal.net.http.MultiExchange.responseAsync(MultiExchange.java:246) ~[java.net.http:?] at jdk.internal.net.http.HttpClientImpl.sendAsync(HttpClientImpl.java:632) ~[java.net.http:?] at jdk.internal.net.http.HttpClientImpl.send(HttpClientImpl.java:540) ~[java.net.http:?] at jdk.internal.net.http.HttpClientFacade.send(HttpClientFacade.java:119) ~[java.net.http:?] at com.giannivanhoecke.oauth.desktop.io.remote.ResourceConnection.sendHttpRequest(ResourceConnection.java:58) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.io.remote.ResourceConnection.exec(ResourceConnection.java:45) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.io.remote.RemoteResource.sendPayload(RemoteResource.java:72) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.io.remote.RemoteResource.post(RemoteResource.java:45) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.AuthorizationCodeFlowWithPkce.sendTokenPostRequest(AuthorizationCodeFlowWithPkce.java:210) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.AuthorizationCodeFlowWithPkce.requestTokens(AuthorizationCodeFlowWithPkce.java:187) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.AuthorizationCodeFlowWithPkce.exchangeAuthorizationCode(AuthorizationCodeFlowWithPkce.java:172) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.AuthorizationCodeFlowWithPkce.callbackReceived(AuthorizationCodeFlowWithPkce.java:166) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.io.local.SuccessHttpHandler.handleResponse(SuccessHttpHandler.java:63) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.io.local.SuccessHttpHandler.handle(SuccessHttpHandler.java:37) ~[oauth-desktop-1.0.jar:?] at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:77) ~[jdk.httpserver:?] at sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:82) ~[jdk.httpserver:?] at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:80) ~[jdk.httpserver:?] at sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:849) ~[jdk.httpserver:?] at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:77) ~[jdk.httpserver:?] at sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:818) ~[jdk.httpserver:?] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?] at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?] at java.lang.Thread.run(Thread.java:834) ~[?:?] Caused by: java.nio.channels.UnresolvedAddressException at sun.nio.ch.Net.checkAddress(Net.java:131) ~[?:?] at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:675) ~[?:?] at jdk.internal.net.http.PlainHttpConnection.lambda$connectAsync$0(PlainHttpConnection.java:165) ~[java.net.http:?] at java.security.AccessController.doPrivileged(Native Method) ~[?:?] at jdk.internal.net.http.PlainHttpConnection.connectAsync(PlainHttpConnection.java:167) ~[java.net.http:?] at jdk.internal.net.http.AsyncSSLConnection.connectAsync(AsyncSSLConnection.java:56) ~[java.net.http:?] at jdk.internal.net.http.Http1Exchange.sendHeadersAsync(Http1Exchange.java:238) ~[java.net.http:?] at jdk.internal.net.http.Exchange.lambda$responseAsyncImpl0$8(Exchange.java:435) ~[java.net.http:?] at jdk.internal.net.http.Exchange.checkFor407(Exchange.java:367) ~[java.net.http:?] at jdk.internal.net.http.Exchange.lambda$responseAsyncImpl0$9(Exchange.java:439) ~[java.net.http:?] at java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:930) ~[?:?] at java.util.concurrent.CompletableFuture.uniHandleStage(CompletableFuture.java:946) ~[?:?] at java.util.concurrent.CompletableFuture.handle(CompletableFuture.java:2266) ~[?:?] at jdk.internal.net.http.Exchange.responseAsyncImpl0(Exchange.java:439) ~[java.net.http:?] at jdk.internal.net.http.Exchange.responseAsyncImpl(Exchange.java:343) ~[java.net.http:?] at jdk.internal.net.http.Exchange.responseAsync(Exchange.java:335) ~[java.net.http:?] at jdk.internal.net.http.MultiExchange.responseAsyncImpl(MultiExchange.java:347) ~[java.net.http:?] at jdk.internal.net.http.MultiExchange.lambda$responseAsyncImpl$7(MultiExchange.java:384) ~[java.net.http:?] at java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:930) ~[?:?] at java.util.concurrent.CompletableFuture.uniHandleStage(CompletableFuture.java:946) ~[?:?] at java.util.concurrent.CompletableFuture.handle(CompletableFuture.java:2266) ~[?:?] at jdk.internal.net.http.MultiExchange.responseAsyncImpl(MultiExchange.java:374) ~[java.net.http:?] at jdk.internal.net.http.MultiExchange.lambda$responseAsync0$2(MultiExchange.java:293) ~[java.net.http:?] at java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1072) ~[?:?] at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506) ~[?:?] at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1705) ~[?:?] at jdk.internal.net.http.HttpClientImpl$DelegatingExecutor.execute(HttpClientImpl.java:153) ~[java.net.http:?] at java.util.concurrent.CompletableFuture.completeAsync(CompletableFuture.java:2591) ~[?:?] at jdk.internal.net.http.MultiExchange.responseAsync(MultiExchange.java:246) ~[java.net.http:?] at jdk.internal.net.http.HttpClientImpl.sendAsync(HttpClientImpl.java:632) ~[java.net.http:?] at jdk.internal.net.http.HttpClientImpl.send(HttpClientImpl.java:540) ~[java.net.http:?] at jdk.internal.net.http.HttpClientFacade.send(HttpClientFacade.java:119) ~[java.net.http:?] at com.giannivanhoecke.oauth.desktop.io.remote.ResourceConnection.sendHttpRequest(ResourceConnection.java:58) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.io.remote.ResourceConnection.exec(ResourceConnection.java:45) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.io.remote.RemoteResource.sendPayload(RemoteResource.java:72) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.io.remote.RemoteResource.post(RemoteResource.java:45) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.AuthorizationCodeFlowWithPkce.sendTokenPostRequest(AuthorizationCodeFlowWithPkce.java:210) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.AuthorizationCodeFlowWithPkce.requestTokens(AuthorizationCodeFlowWithPkce.java:187) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.AuthorizationCodeFlowWithPkce.exchangeAuthorizationCode(AuthorizationCodeFlowWithPkce.java:172) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.AuthorizationCodeFlowWithPkce.callbackReceived(AuthorizationCodeFlowWithPkce.java:166) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.io.local.SuccessHttpHandler.handleResponse(SuccessHttpHandler.java:63) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.io.local.SuccessHttpHandler.handle(SuccessHttpHandler.java:37) ~[oauth-desktop-1.0.jar:?] at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:77) ~[jdk.httpserver:?] at sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:82) ~[jdk.httpserver:?] at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:80) ~[jdk.httpserver:?] at sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:849) ~[jdk.httpserver:?] at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:77) ~[jdk.httpserver:?] at sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:818) ~[jdk.httpserver:?] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?] at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?] at java.lang.Thread.run(Thread.java:834) ~[?:?]

@alexjascott
Copy link
Author

alexjascott commented Jul 5, 2023

My code:

        AuthorizationServerConfig config = AuthorizationServerConfig
                .newBuilder()
                .withBaseUrl("https://accounts.google.com/o/oauth2")
                .withEndpointAuth("/auth")
                .withEndpointUserInfo("/userinfo")
                .withEndpointToken("/token")
                .withClientId("<client>.apps.googleusercontent.com")
                .withAuthScope("openid email profile")
                .build();

        AuthorizationCodeFlowWithPkce authorizationCodeFlowWithPkce = new AuthorizationCodeFlowWithPkce(config);

        Future<AccessTokenResponse> accessTokenResponseFuture = authorizationCodeFlowWithPkce.authorize();
        AccessTokenResponse accessTokenResponse = accessTokenResponseFuture.get(5, TimeUnit.MINUTES);

@alexjascott
Copy link
Author

alexjascott commented Jul 5, 2023

Google has a different auth and token url;
"auth_uri":"https://accounts.google.com/o/oauth2/auth"
"token_uri":"https://oauth2.googleapis.com/token"

so I assume oauth-desktop is trying to goto "https://accounts.google.com/o/oauth2/auth/token" or "https://accounts.google.com/o/oauth2/token" to get the token?

Is there a way to override?

@alexjascott
Copy link
Author

alexjascott commented Jul 6, 2023

I got a little further:

AuthorizationServerConfig config = AuthorizationServerConfig .newBuilder() .withBaseUrl("https://") .withEndpointAuth("accounts.google.com/o/oauth2/auth") .withEndpointToken("oauth2.googleapis.com/token") .withEndpointUserInfo("oauth2.googleapis.com/userinfo") .withClientId("812641674582-ph71irg2rt03bt5hfvt4prruarrqj5gj.apps.googleusercontent.com") .withAuthScope("openid email profile") .build();

And now get the error;

java.util.concurrent.ExecutionException: com.giannivanhoecke.oauth.desktop.exception.TokenException: Unauthorized: PostResult{resultCode=400, resultBody='{ "error": "invalid_request", "error_description": "client_secret is missing." }'} at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:395) ~[?:?] at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2022) ~[?:?] at org.example.Main.main(Main.java:44) [classes/:?] Caused by: com.giannivanhoecke.oauth.desktop.exception.TokenException: Unauthorized: PostResult{resultCode=400, resultBody='{ "error": "invalid_request", "error_description": "client_secret is missing." }'}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant