Bei diesem Projekt handelt es sich um eine sehr einfache Demo, die zeigt, wie man sich mit OAUTH2 authentifiziert und eine E-Mail-Nachricht für Gmail-, Microsoft/Office365- und Hotmail.com/outlook.com/live.com-E-Mail-Adressen sendet. Ursprünglich nur für Gmail (daher der Name), wurde es jedoch inzwischen auf die Unterstützung anderer Anbieter ausgeweitet.
OAuth2 ist ein offener Standard für die Autorisierung, der verwendet wird, um Zugriff auf durch einen Server geschützte Ressourcen zu gewähren. Es ermöglicht einer Anwendung oder einem Dienst, sich bei einem Ressourcenserver zu authentifizieren und im Namen eines Benutzers auf geschützte Ressourcen zuzugreifen, ohne dass der Benutzer seine Anmeldeinformationen direkt bei der Anwendung angeben muss.
Wenn ein Benutzer über einen E-Mail-Client oder eine andere Anwendung auf seine E-Mails zugreifen möchte, kann die Anwendung OAuth2 verwenden, um sich beim E-Mail-Dienst zu authentifizieren und Zugriff auf die E-Mails des Benutzers anzufordern. Der Benutzer wird dann aufgefordert, sich bei seinem E-Mail-Konto anzumelden und Zugriff auf die Anwendung zu gewähren. Sobald der Zugriff gewährt wurde, kann die Anwendung das OAuth2-Zugriffstoken verwenden, um sich beim E-Mail-Dienst zu authentifizieren und auf die E-Mails des Benutzers zuzugreifen.
Die Verwendung von OAuth2 zur Authentifizierung hat mehrere Vorteile. Es ermöglicht Benutzern, Zugriff auf ihre E-Mails zu gewähren, ohne ihre Anmeldeinformationen mit der Anwendung teilen zu müssen, was zum Schutz ihrer Privatsphäre und Sicherheit beiträgt. Darüber hinaus wird es für Benutzer einfacher, von mehreren Geräten und Anwendungen aus auf ihre E-Mails zuzugreifen, da sie den Zugriff nur einmal gewähren müssen und sich dann mit dem OAuth2-Zugriffstoken von jedem Gerät aus beim E-Mail-Dienst authentifizieren können.
Sie müssen eine Datei namens Globals.pas erstellen, die die folgenden Konstanten enthält
google_clientid
google_clientsecret Um diese zu erhalten, gehen Sie zu https://console.cloud.google.com/apis/credentials
google_clientaccount
microsoft_clientid
microsoft_clientaccount Um diese zu erhalten, gehen Sie zu https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade. Microsoft benötigt außerdem verschiedene App-Berechtigungen, wie unten gezeigt
clientendtoaddress
Kundenname
Dieses Projekt erfordert OpenSSL. Die benötigten Dateien finden Sie unter https://github.com/IndySockets/OpenSSL-Binaries
Danke
Geoffrey Smith