هذا المشروع عبارة عن عرض توضيحي أساسي للغاية يوضح كيفية المصادقة باستخدام 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 أيضًا إلى أذونات التطبيقات المختلفة كما هو موضح أدناه
com.clientsendtoaddress
اسم العميل
يتطلب هذا المشروع OpenSSL. يمكنك العثور على الملفات المطلوبة على https://github.com/IndySockets/OpenSSL-Binaries
شكرًا
جيفري سميث