L'utilisation du flux Authorization Code Grant ne nécessite pas d'interaction avec l'utilisateur, elle est donc adaptée aux services, daemons... ou toute application devant s'exécuter sans interaction utilisateur.
Une fois que vous disposez de l'ID de tenant et des identifiants, vous pouvez configurer les propriétés OAuth2 pour le Code Grant.
Pour configurer le client OpenAPI pour OAuth2 Code Grant, configurez la propriété MicrosoftOptions.Authentication avec la valeur suivante :
GetOpenAPIClient.MicrosoftOptions.Authentication := oamaOAuth2Credentials;

GetOpenAPIClient.MicrosoftOptions.Authentication := oamaOAuth2Credentials; GetOpenAPIClient.Authentication.OAuth2.AuthorizationServerOptions.AuthURL := 'https://login.microsoftonline.com/tenant_id/oauth2/v2.0/authorize'; GetOpenAPIClient.Authentication.OAuth2.AuthorizationServerOptions.TokenURL := 'https://login.microsoftonline.com/tenant_id/oauth2/v2.0/token'; GetOpenAPIClient.Authentication.OAuth2.OAuth2Options.ClientId := '90945b8d-f6b7-4b97-b2bd-21c3c90b5f3b'; GetOpenAPIClient.Authentication.OAuth2.OAuth2Options.ClientSecret := 'client_secret'; GetOpenAPIClient.Authentication.OAuth2.LocalServerOptions.IP := '127.0.0.1'; GetOpenAPIClient.Authentication.OAuth2.LocalServerOptions.Port := 8080; GetOpenAPIClient.Authentication.OAuth2.LocalServerOptions.SSL := True; GetOpenAPIClient.Authentication.OAuth2.LocalServerOptions.SSLOptions.Port := 8080; GetOpenAPIClient.Authentication.OAuth2.LocalServerOptions.SSLOptions.CertFile := 'sgc.pem'; GetOpenAPIClient.Authentication.OAuth2.LocalServerOptions.SSLOptions.KeyFile := 'sgc.pem'; GetOpenAPIClient.Authentication.OAuth2.LocalServerOptions.SSLOptions.Password := ''; GetOpenAPIClient.Authentication.OAuth2.LocalServerOptions.RedirectURL := 'https://localhost:8080'; GetOpenAPIClient.Authentication.OAuth2.AuthorizationServerOptions.Scope.Text := 'https://graph.microsoft.com/.default';
L'ID de locataire doit être configuré pour les URL d'authentification et de jeton ; remplacez simplement l'ID de locataire correct dans l'URL.
Microsoft n'autorise l'URL localhost que si vous écoutez sur l'IP locale ; définissez donc l'URL de redirection avec localhost comme nom DNS plutôt que de la configurer avec l'adresse IP.
La valeur scope dépend de l'API ; consultez la documentation Microsoft / Azure pour chaque API.
Les identifiants OAuth2 ne nécessitent aucune interaction de l'utilisateur, donc aucun navigateur ne sera ouvert lors du premier appel de requête HTTP.