Log In With Google integration and oAuth

We are investigating the opportunity to integrate with "Log in with Google" feature.

Our application consists of the following parts:

  • main application (monolith java web app, integrated with microservices and oAuth)

  • various microservices integrated into main application (also, microservices are integrated with oAuth as well)

  • oAuth server

Each time, when user logs into the main application, we are creating oauth access token (using user's email and password - grant type: password). Later, this access token is used in REST calls to microservices.

E.g. we have APIs like

GET: /user/{accessTokenValue}/subscriptions

POST: /user/{accessTokenValue}/order

where we need to explicitly pass access token in URL, so the microservice will be able to resolve user based on the incoming token.

Main question is: how to correctly integrate Log In with Google in such application architecture?

As far as I understand from https://developers.google.com/identity/sign-in/web/sign-in, Google handles log in on their side and, in case of successful log in, they return some DTO, that contains user's email, name, profile picture, etc. However, this data is not sufficient for us to create an access token for user.