Email Verification API هو اقتراح يتيح للمتصفّح التواصل مباشرةً مع مزوِّد خدمة البريد الإلكتروني للتأكّد من أنّ المستخدم يملك عنوان البريد الإلكتروني. يُدخل المستخدمون عناوين بريدهم الإلكتروني ويرسلون النموذج، ويتأكّد الموقع الإلكتروني من رمز التحقّق الموقَّع من عنوان البريد الإلكتروني من المتصفّح مع مقدّم الخدمة بدون إرسال رسالة إلكترونية أو مقاطعة تدفّق المستخدم.
عند جمع عناوين البريد الإلكتروني أثناء عملية الاشتراك أو تسجيل الدخول أو الدفع أو الاشتراك في النشرة الإخبارية أو استرداد الحساب، عادةً ما تؤكّد المواقع الإلكترونية أنّ الشخص الذي يرسل النموذج يتحكّم في العنوان. تتطلّب طرق إثبات الملكية الحالية من المستخدمين مغادرة موقعك الإلكتروني أو التبديل بين التطبيقات للتحقّق من صندوق الوارد أو نسخ كلمة مرور صالحة لمرة واحدة أو النقر على رابط إثبات الملكية. يؤدي هذا الانقطاع إلى زيادة معدّل ترك الجلسات لكل من المستخدمين والوكلاء المبرمَجين. غالبًا ما يواجه المستخدمون صعوبات في طرق التحقّق الحالية، مثل تأخّر وصول الرسائل الإلكترونية أو انتهاء صلاحية الروابط أو عدم التعرّف على الرموز.
يُعدّ تأكيد عنوان البريد الإلكتروني بمثابة تحسين تدريجي لعملية التحقّق الحالية:
- بدون انقطاع: تتم عملية التحقّق في الخلفية أثناء ملء المستخدم للنموذج.
- لا حاجة إلى رصد الميزات: تضيف المواقع الإلكترونية حقل إدخال عنوان البريد الإلكتروني وحقل إدخال الرمز المميّز المخفي إلى نماذجها. إذا كان المتصفّح أو مقدّم الخدمة لا يتيح إثبات ملكية عنوان البريد الإلكتروني، أو إذا تعذّر إثبات الملكية، يعود الموقع الإلكتروني إلى مسار تأكيد عنوان البريد الإلكتروني التلقائي.
- الحدّ من مخاطر التصيّد الاحتيالي: لا يتوفّر رمز لنسخه أو فرصة لإرسال المستخدم إلى موقع إلكتروني مزيّف.
روابط مفيدة
- مواصفات Email Verification API (مجموعة WICG) (مستودع GitHub)
- مسودة بروتوكول تأكيد عنوان البريد الإلكتروني (IETF) (مستودع GitHub)
- تأكيد عنوان البريد الإلكتروني في Chrome Platform Status
- التسجيل في مرحلة التجربة والتقييم لميزة "إثبات ملكية عنوان البريد الإلكتروني"
يمكنك اختبار المسار في العرض التوضيحي:
- الحساب التجريبي للجهة المصدرة: يوفّر حساب بريد إلكتروني وهميًا وجلسة تسجيل دخول.
- التحقّق من العرض التوضيحي: يمكنك التحقّق من البريد الإلكتروني التجريبي أو أي بريد إلكتروني لمقدّم خدمة مشارك.
اعتبارات مرحلة التجربة والتقييم
مراحل التجربة والتقييم هي تجارب تهدف إلى جمع الملاحظات، لذا فإنّ ملاحظاتك مهمة جدًا إذا شاركت فيها بصفتك طرفًا معتمدًا أو مقدّم خدمة هوية. للإبلاغ عن المشاكل، استخدِم مستودعات GitHub التالية:
- واجهة برمجة التطبيقات Browser Email Verification API: WICG/email-verification
- بروتوكول تأكيد عنوان البريد الإلكتروني: dickhardt/email-verification
في حال واجهت أخطاء في عملية تنفيذ Chrome، يمكنك الإبلاغ عن مشكلة في المكوّن التالي:
يمكنك التحكّم في وظائف مرحلة التجربة والتقييم لكل ردّ من خلال تضمين الرمز المميّز لمرحلة التجربة والتقييم. يتيح لك ذلك حصر الميزة على شريحة معيّنة من المستخدمين، مثل مجموعة مستخدمين لإجراء اختبار A/B. بدلاً من ذلك، إذا كان لديك مجموعة من المستخدمين المشاركين في برنامج الاستخدام التجريبي أو برنامج النسخة المبكرة الحصرية، قد تحتاج إلى تفعيل الميزة لهم. في هذه الحالة، تحقَّق من عنوان البريد الإلكتروني المقدَّم قبل إصدار الرمز المميّز أو التحقّق من صحته.
تتضمّن مراحل التجربة والتقييم أيضًا حدودًا قصوى لعدد الزيارات بهدف تقليل عدد المواقع الإلكترونية التي تعتمد على الميزة قبل إطلاقها. واجهة برمجة التطبيقات لجهة الإصدار قيد التطوير، ومن المتوقّع إجراء تغييرات غير متوافقة مع الأنظمة القديمة بالإضافة إلى تحديثات على تجربة مستخدم Chrome.
يمكنك متابعة المدونة هنا وقائمة المراسلات evp-announce@chromium.org لمعرفة آخر الأخبار حول التقدّم في عملية التطوير.
عملية تأكيد عنوان البريد الإلكتروني
توضّح الأقسام التالية المصطلحات الرئيسية وخطوات البروتوكول عند استخدام Email Verification API.
العبارات الرئيسية
في ما يلي المصطلحات الأساسية لواجهة برمجة التطبيقات Email Verification API:
- جهة التحقّق: الموقع الإلكتروني الذي يجمع عنوان البريد الإلكتروني ويريد التحقّق منه. يُطلق على الجهة التي تتحقّق من الهوية أيضًا اسم الطرف المعتمِد.
- مزوِّد خدمة البريد الإلكتروني: الخدمة التي توفّر عنوان البريد الإلكتروني للمستخدم، مثل
gmail.com. - جهة الإصدار: الخدمة التي تدير حساب البريد الإلكتروني للمستخدم، مثل
accounts.google.comيُطلق على جهة الإصدار أيضًا اسم موفِّر الهوية.
في بعض الحالات، يعمل مزوِّد خدمة البريد الإلكتروني وجهة الإصدار من النطاق نفسه.
ومع ذلك، من المهم التمييز بينهما لأنّ واجهة برمجة التطبيقات Email Verification API تستخدم الجلسة النشطة في المتصفّح مع موفّر الهوية كطريقة للتحقّق. على سبيل المثال، لإثبات ملكية example@gmail.com،
يجب أن يكون المستخدم مسجِّلاً الدخول إلى google.com باستخدام هذا الحساب في المتصفّح
نفسه.
تدفق البروتوكول
- عرض النموذج: يعرض الطرف المعتمد نموذج HTML يحتوي على
<input type="email">وإدخال مخفي تم وضع علامةautocomplete="email-verification-token"عليه ومعرّفnonceفريد لكل مثيل. - إدخال عنوان البريد الإلكتروني: عندما يُدخل المستخدم عنوان بريد إلكتروني، سواء من خلال اختيار
اقتراح ملء تلقائي أو من خلال كتابة العنوان أو لصقه والخروج من الحقل
(
blur)، يبدأ المتصفّح عملية التحقّق في الخلفية. - الاكتشاف والجلسة: يطلب المتصفّح سجلّ DNS TXT الخاص بـ
_email-verification.<email-domain>لاكتشاف مصدر جهة الإصدار المعتمَدة، ثم يتحقّق مما إذا كان لدى المستخدم جلسة نشطة باستخدام إعدادات.well-known/web-identityالخاصة بجهة الإصدار ونقاط نهاية حسابات FedCM. إذا لم ينشر النطاق سجلّ EVP أو لم تكن هناك جلسة نشطة، سيتوقف المتصفّح عن عملية التحقّق بدون إرسال إشعار إلى المستخدم. - إصدار الرمز المميّز: يكتشف المتصفّح
issuance_endpointالخاص بمقدّم الخدمة من.well-known/email-verification، وينشئ مفتاحَي تشفير مؤقتَين، ويرسل طلبPOSTعبر HTTP باستخدام توقيعات رسائل HTTP (RFC 9421) مع ملفات تعريف الارتباط للجلسة الخاصة بالطرف الأول لجهة الإصدار وعنوان البريد الإلكتروني المستهدَف لتلقّي رمز مميّز موقَّع لتأكيد عنوان البريد الإلكتروني (EVT). - ربط المفتاح وإرساله: يربط المتصفّح
EVTالموقَّع بمصدر الجهة المعتمدة ونموذجnonceداخل رمز JWT لربط المفتاح (KB-JWT) ويعرض إشعارًا صغيرًا لإعلام المستخدم بأنّ مزوِّد خدمة البريد الإلكتروني قد تحقّق من عنوانه. عندما يرسل المستخدم النموذج، يملأ Chrome حقل الإدخال المخفي بالرمز المميز المدمج (<EVT>~<KB-JWT>). - التحقّق من صحة المطالبات وربط المفتاح: يحلّل خادم الطرف المعتمِد
الرمز المميّز
<EVT>~<KB-JWT>، ويتحقّق من صحة المطالبات المتوقّعة (emailوemail_verifiedوaudوnonceوiatوexp)، ويتحقّق من توقيع ربط المفتاح مقابل المفتاح العام المؤقت فيcnf.jwk. - نظام أسماء النطاقات والمفاتيح العامة: يرسل الطرف المعتمِد طلب بحث إلى سجلّ TXT الخاص بنظام أسماء النطاقات في
_email-verification.<email-domain>للتأكّد من تطابقه مع مطالبةissالخاصة بالرمز المميّز، ثم يسترجع البيانات الوصفية والمفاتيح العامة لجهة الإصدار في.well-known/email-verificationمنjwks_uri. - التحقّق من EVT وإكمال العملية: يتحقّق الطرف المعتمِد من توقيع
EVTجهة الإصدار باستخدام مفتاحJWKSالعام لمقدّم الخدمة. إذا لم يتم تلقّي أي رمز مميّز أو تعذّر تنفيذ أي خطوة من خطوات التحقّق، يعود الموقع الإلكتروني إلى عملية تأكيد عنوان البريد الإلكتروني الحالية.
في المرّة الأولى التي يثبت فيها المستخدم ملكيته لعنوان بريد إلكتروني، يعرض Chrome طلب إذن (مربع حوار على الكمبيوتر المكتبي أو ورقة في أسفل الشاشة على Android) قبل طلب رمز مميّز. في حال منح هذا الإذن، يتم تذكُّر عنوان البريد الإلكتروني على جميع المواقع الإلكترونية المشارِكة.
إعدادات Chrome
يمكن للمستخدمين إدارة عناوين البريد الإلكتروني التي تم تأكيدها:
- على الكمبيوتر، انتقِل إلى الإعدادات > الملء التلقائي وكلمات المرور > معلومات الاتصال > البريد الإلكتروني الذي تم تأكيده (أو افتح
chrome://settings/contactInfo). - على أجهزة Android، ضمن الإعدادات > العناوين والمزيد > عنوان البريد الإلكتروني الذي تم التحقّق منه
يمكن للمستخدمين إيقاف الميزة بالكامل أو إدارة عناوين البريد الإلكتروني الفردية التي تم التحقّق منها.
اعتبارات حالات الاستخدام
تأكيد عنوان البريد الإلكتروني هو تحسين تدريجي لعملية التحقّق الحالية، إذ يغني المستخدم عن مغادرة موقعك الإلكتروني لاسترداد كلمة مرور صالحة لمرة واحدة أو النقر على رابط. يمكن للمواقع الإلكترونية إضافة حقول تأكيد عنوان البريد الإلكتروني إلى جميع النماذج ذات الصلة، مثل عمليات تسجيل الدخول والاشتراك في النشرات الإخبارية وإنشاء الحسابات واسترداد كلمات المرور. ولا يتم تشغيل EVP إلا إذا كان المتصفّح يتيح ذلك. في حال عدم تلقّي رمز عند إرسال الطلب أو تعذُّر إكمال أي من خطوات التحقّق، يمكنك الرجوع إلى عملية تأكيد عنوان البريد الإلكتروني التلقائية. يعني هذا أيضًا أنّه لا يتم رصد ميزات واجهة برمجة التطبيقات، ويتعامل موقع المدقّق مع الرمز المميّز للتحقّق من الحدث على أنّه اختياري، ويعالجه إذا كان متوفّرًا في الطلب.
يؤكّد إثبات ملكية عنوان البريد الإلكتروني أنّ المستخدم لديه جلسة نشطة مع مقدّم خدمة عنوان البريد الإلكتروني. ولا يؤكّد أنّ رسالتك الإلكترونية قد وصلت إلى المستخدم. قد تظل بحاجة إلى إرسال رسائل إلكترونية ترحيبية أو رسائل إلكترونية خاصة بإعداد الحساب، وقد تحتاج إلى مطالبة المستخدم بالتحقّق من إعدادات الرسائل غير المرغوب فيها.