โปรเจ็กต์นี้เป็นตัวอย่างพื้นฐานที่แสดงวิธีการตรวจสอบสิทธิ์กับ OAUTH2 และส่งข้อความอีเมลสำหรับ gmail, microsoft/office365 รวมถึงที่อยู่อีเมล hotmail.com/outlook.com/live.com ในตอนแรกมีไว้สำหรับ Gmail เท่านั้น (จึงเป็นที่มาของชื่อ) แต่ต่อมาได้ขยายออกไปเพื่อสนับสนุนผู้ให้บริการรายอื่น
OAuth2 เป็นมาตรฐานแบบเปิดสำหรับการอนุญาตที่ใช้ในการให้สิทธิ์การเข้าถึงทรัพยากรที่ได้รับการคุ้มครองโดยเซิร์ฟเวอร์ อนุญาตให้แอปพลิเคชันหรือบริการตรวจสอบสิทธิ์กับเซิร์ฟเวอร์ทรัพยากรและเข้าถึงทรัพยากรที่ได้รับการป้องกันในนามของผู้ใช้ โดยไม่ต้องให้ผู้ใช้ให้ข้อมูลประจำตัวแก่แอปพลิเคชันโดยตรง
เมื่อผู้ใช้ต้องการเข้าถึงอีเมลโดยใช้โปรแกรมรับส่งเมลหรือแอปพลิเคชันอื่น แอปพลิเคชันสามารถใช้ OAuth2 เพื่อตรวจสอบสิทธิ์กับบริการอีเมลและขอเข้าถึงอีเมลของผู้ใช้ จากนั้นผู้ใช้จะได้รับแจ้งให้ลงชื่อเข้าใช้บัญชีอีเมลของตนและให้สิทธิ์การเข้าถึงแอปพลิเคชัน เมื่อให้สิทธิ์การเข้าถึงแล้ว แอปพลิเคชันจะสามารถใช้โทเค็นการเข้าถึง OAuth2 เพื่อตรวจสอบสิทธิ์กับบริการอีเมลและเข้าถึงอีเมลของผู้ใช้ได้
การใช้ OAuth2 สำหรับการรับรองความถูกต้องมีประโยชน์หลายประการ อนุญาตให้ผู้ใช้ให้สิทธิ์การเข้าถึงอีเมลโดยไม่ต้องเปิดเผยข้อมูลการเข้าสู่ระบบกับแอปพลิเคชัน ซึ่งช่วยปกป้องความเป็นส่วนตัวและความปลอดภัย นอกจากนี้ยังช่วยให้ผู้ใช้เข้าถึงอีเมลของตนจากอุปกรณ์และแอปพลิเคชันต่างๆ ได้ง่ายขึ้น เนื่องจากต้องให้สิทธิ์การเข้าถึงเพียงครั้งเดียว จากนั้นจึงใช้โทเค็นการเข้าถึง OAuth2 เพื่อตรวจสอบสิทธิ์กับบริการอีเมลจากอุปกรณ์ใดก็ได้
คุณจะต้องสร้างไฟล์ชื่อ Globals.pas ซึ่งมีค่าคงที่ต่อไปนี้
google_clientid
google_clientsecret หากต้องการรับสิ่งเหล่านี้ ให้ไปที่ https://console.cloud.google.com/apis/credentials
google_clientaccount
microsoft_clientid
microsoft_clientaccount หากต้องการรับสิ่งเหล่านี้ ให้ไปที่ https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade Microsoft จะต้องได้รับอนุญาตจากแอปต่างๆ ดังที่แสดงด้านล่าง
ลูกค้าส่งไปยังที่อยู่
ชื่อลูกค้า
โปรเจ็กต์นี้ต้องการ OpenSSL คุณสามารถค้นหาไฟล์ที่จำเป็นได้ที่ https://github.com/IndySockets/OpenSSL-Binaries
ขอบคุณ
เจฟฟรีย์ สมิธ