Proyek ini adalah demo sangat mendasar yang menunjukkan cara mengautentikasi dengan OAUTH2 dan mengirim pesan email untuk alamat email gmail, microsoft/office365, serta hotmail.com/outlook.com/live.com. Awalnya hanya untuk Gmail (sesuai dengan namanya), namun kini telah diperluas untuk mendukung penyedia lainnya.
OAuth2 adalah standar terbuka untuk otorisasi yang digunakan untuk memberikan akses ke sumber daya yang dilindungi oleh server. Hal ini memungkinkan aplikasi atau layanan untuk mengautentikasi dengan server sumber daya dan mengakses sumber daya yang dilindungi atas nama pengguna, tanpa mengharuskan pengguna untuk memberikan kredensial mereka secara langsung ke aplikasi.
Saat pengguna ingin mengakses emailnya menggunakan klien email atau aplikasi lain, aplikasi tersebut dapat menggunakan OAuth2 untuk mengautentikasi dengan layanan email dan meminta akses ke email pengguna. Pengguna kemudian diminta untuk masuk ke akun email mereka dan memberikan akses ke aplikasi. Setelah akses diberikan, aplikasi dapat menggunakan token akses OAuth2 untuk mengautentikasi dengan layanan email dan mengakses email pengguna.
Menggunakan OAuth2 untuk autentikasi memiliki beberapa manfaat. Hal ini memungkinkan pengguna untuk memberikan akses ke email mereka tanpa membagikan kredensial login mereka dengan aplikasi, yang membantu melindungi privasi dan keamanan mereka. Hal ini juga memudahkan pengguna untuk mengakses email mereka dari beberapa perangkat dan aplikasi, karena mereka hanya perlu memberikan akses satu kali dan kemudian dapat menggunakan token akses OAuth2 untuk mengautentikasi dengan layanan email dari perangkat apa pun.
Anda perlu membuat file bernama Globals.pas yang berisi konstanta berikut
google_clientid
google_clientsecret Untuk mendapatkannya, buka https://console.cloud.google.com/apis/credentials
akun klien_google
microsoft_clientid
microsoft_clientaccount Untuk mendapatkannya, buka https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade Microsoft juga memerlukan berbagai izin aplikasi seperti yang ditunjukkan di bawah ini
klienendtoaddress
nama klien
Proyek ini membutuhkan OpenSSL. Anda dapat menemukan file yang diperlukan di https://github.com/IndySockets/OpenSSL-Binaries
Terima kasih
Geoffrey Smith