We use Azure with our GS Seaside app for single sign-on. Once we have the Azure Graph token we then use that token for Graph API calls. Works nicely. I find MS Graph documentation to be excellent, as are all the supporting YouTube videos.
Here's a short Seaside summary of the steps we use...
3 - extract the Graph access token from the response
4 - use the Graph access token for Graph web service calls. In our case we use
https://graph.microsoft.com/v1.0/me + Bearer <accessToken> to get the authenticated user's Graph ID, which we then use to find the application user object.
5 - refresh the token before it expires, which is usually under and hour, by checking the expires_in value
We've been running this way for a few months now. Next step is to expand our use of MS Graph with Outlook, Teams and SharePoint.
Hope that helps,
Bob Nemec