Ce projet est une démo très basique montrant comment s'authentifier avec OAUTH2 et envoyer un message électronique pour les adresses e-mail Gmail, Microsoft/Office365 ainsi que hotmail.com/outlook.com/live.com. Initialement, il était uniquement destiné à Gmail (d'où son nom), mais a depuis été étendu pour prendre en charge d'autres fournisseurs.
OAuth2 est un standard ouvert d'autorisation utilisé pour accorder l'accès aux ressources protégées par un serveur. Il permet à une application ou à un service de s'authentifier auprès d'un serveur de ressources et d'accéder aux ressources protégées au nom d'un utilisateur, sans exiger que l'utilisateur fournisse ses informations d'identification directement à l'application.
Lorsqu'un utilisateur souhaite accéder à sa messagerie à l'aide d'un client de messagerie ou d'une autre application, l'application peut utiliser OAuth2 pour s'authentifier auprès du service de messagerie et demander l'accès à la messagerie de l'utilisateur. L'utilisateur est ensuite invité à se connecter à son compte de messagerie et à accorder l'accès à l'application. Une fois l'accès accordé, l'application peut utiliser le jeton d'accès OAuth2 pour s'authentifier auprès du service de messagerie et accéder à la messagerie de l'utilisateur.
L'utilisation d'OAuth2 pour l'authentification présente plusieurs avantages. Il permet aux utilisateurs d'accorder l'accès à leur courrier électronique sans partager leurs informations de connexion avec l'application, ce qui contribue à protéger leur confidentialité et leur sécurité. Cela permet également aux utilisateurs d'accéder plus facilement à leur courrier électronique à partir de plusieurs appareils et applications, car ils n'ont besoin d'accorder l'accès qu'une seule fois et peuvent ensuite utiliser le jeton d'accès OAuth2 pour s'authentifier auprès du service de messagerie depuis n'importe quel appareil.
Vous devrez créer un fichier appelé Globals.pas qui contient les constantes suivantes
id_client google
google_clientsecret Pour les obtenir, accédez à https://console.cloud.google.com/apis/credentials
compte_clientgoogle
id_client microsoft
microsoft_clientaccount Pour les obtenir, accédez à https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade Microsoft aura également besoin de diverses autorisations d'application, comme indiqué ci-dessous.
clientsenvoyeràl'adresse
nom du client
Ce projet nécessite OpenSSL. Vous pouvez trouver les fichiers requis sur https://github.com/IndySockets/OpenSSL-Binaries
Merci
Geoffrey Smith