Email Verification API پیشنهادی است که به مرورگر امکان میدهد مستقیماً با ارائهدهنده ایمیل ارتباط برقرار کند تا تأیید کند که کاربر مالک نشانی ایمیل است. کاربران ایمیل خود را وارد میکنند، فرم را ارسال میکنند، و سایت بدون ارسال ایمیل یا ایجاد وقفه در جریان کاربر، کد درستیسنجی ایمیل امضاشده را از مرورگر با ارائهدهنده درستیسنجی میکند.
هنگام جمعآوری نشانی ایمیل درطول ثبتنام، ورود به سیستم، تسویهحساب، اشتراک خبرنامه، یا بازیابی حساب، سایتها معمولاً تأیید میکنند که فردی که فرم را ارسال میکند بر نشانی کنترل دارد. روشهای درستیسنجی موجود کاربران را ملزم میکند از سایت شما خارج شوند، برنامهها را برای بررسی صندوق ورودیشان عوض کنند، رمز یکبارمصرف را کپی کنند، یا روی پیوند درستیسنجی کلیک کنند. این اختلال باعث افزایش نرخ خروج و رها کردن جلسه هم برای کاربران انسانی و هم برای نمایندگان خودکار میشود. کاربران اغلب با روشهای درستیسنجی موجود، مانند ایمیلهای تأخیری، پیوندهای منقضیشده، یا کدهای ناشناس، اصطکاک تجربه میکنند.
درستیسنجی ایمیل بهعنوان بهبود تدریجی جریان موجود شما عمل میکند:
- بدون اختلال: درستیسنجی در پسزمینه و درحالیکه کاربر فرم را تکمیل میکند انجام میشود.
- نیازی به تشخیص ویژگی نیست: سایتها ورودی ایمیل و ورودی رمز پنهان را به فرمهایشان اضافه میکنند. اگر مرورگر یا ارائهدهنده از درستیسنجی ایمیل پشتیبانی نکند یا درستیسنجی انجام نشود، سایت به روند تأیید ایمیل پیشفرض خود برمیگردد.
- بهحداقل رساندن خطرات فیشینگ: کدی برای کپی کردن یا فرصتی برای ارسال کاربر به سایت جعلی وجود ندارد.
پیوندهای مفید
- میانای برنامهسازی کاربردی «درستیسنجی ایمیل» در GitHub
- پروتکل درستیسنجی ایمیل در GitHub
- درستیسنجی ایمیل در وضعیت پلاتفرم Chrome
- ثبت نام آزمایش اصالت درستیسنجی ایمیل
میتوانید جریان را در نسخه نمایشی آزمایش کنید:
- نمونه صادرکننده: حساب ایمیل ساختگی و جلسه ورود به سیستم ارائه میدهد.
- نمایش درستیسنج: ایمیل نمایشی یا ایمیل هر ارائهدهنده شرکتکننده را درستیسنجی کنید.
ملاحظات آزمایش معرفی ویژگی جدید
آزمایشهای معرفی ویژگی جدید برای جمعآوری بازخورد انجام میشوند، بنابراین اگر بهعنوان طرف اتکا یا ارائهدهنده هویت شرکت میکنید، ورودی شما بسیار مهم است. برای گزارش کردن مشکلات، از مخزنهای 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) - مرورگر درستیسنجی را در پسزمینه راهاندازی میکند. - اکتشاف و جلسه: مرورگر برای
_email-verification.<email-domain>از ساختار ساناد TXT پُرسمان میکند تا مبدأ صادرکننده مجاز ارائهدهنده را اکتشاف کند، سپس بررسی میکند که آیا کاربر بااستفاده از پیکربندی.well-known/web-identityصادرکننده و نقاط پایانی حسابهای FedCM جلسه فعالی دارد یا نه. اگر دامنه سابقه EVP منتشر نکند یا جلسه فعالی وجود نداشته باشد، مرورگر بدون درخواست از کاربر، درستیسنجی را متوقف میکند. - صدور رمز: مرورگر
issuance_endpointارائهدهنده را از.well-known/email-verificationپیدا میکند، یک جفت کلید موقت ایجاد میکند، و بااستفاده از «امضاهای پیام HTTP» (RFC 9421) یک درخواست HTTPPOSTبا کوکیهای جلسه طرف اول صادرکننده و نشانی ایمیل هدف ارسال میکند تا «رمز درستیسنجی ایمیل» امضاشده (EVT) دریافت کند. - پیوند کلید و ارسال: مرورگر
EVTامضاشده را به مبدأ طرف مورد اعتماد و فرمnonceدر داخل «توکن وب جاوا با پیوند کلید» (KB-JWT) پیوند میدهد. وقتی کاربر فرم را ارسال میکند، Chrome ورودی پنهان را با توکن ترکیبی (<EVT>~<KB-JWT>) تکمیل میکند و اعلان کوچکی نمایش میدهد که به کاربر اطلاع میدهد ارائهدهنده ایمیلش نشانی او را تأیید کرده است. - اعتبارسنجی ادعاها و پایگاه دانش: سرور طرف متکی نشانه
<EVT>~<KB-JWT>را تجزیه میکند، ادعاهای موردانتظار (email،email_verified،aud،nonce،iat، وexp) را اعتبارسنجی میکند، و امضای پیوند کلید را دربرابر کلید عمومی موقت درcnf.jwkدرستیسنجی میکند. - ساناد و کلیدهای عمومی: طرف مورد اعتماد
_email-verification.<email-domain>گزارش ساناد TXT را پُرسمان میکند تا تأیید کند با ادعایissنشان مطابقت دارد، سپس فوقدادهها و کلیدهای عمومی صادرکننده.well-known/email-verificationرا ازjwks_uriواکشی میکند. - درستیسنجی EVT و تکمیل: طرف متکی امضای
EVTصادرکننده را بااستفاده ازJWKSعمومی ارائهدهنده درستیسنجی میکند. اگر کد تأییدی دریافت نشود یا هریک از مراحل درستیسنجی ناموفق باشد، سایت به فرایند تأیید ایمیل موجود خود برمیگردد.
اولینباری که کاربر نشانی ایمیلی را درستیسنجی میکند، Chrome قبلاز درخواست کردن کد، پیامواره اجازه (کادر گفتگویی در رایانه یا برگه پایینی در Android) را نمایش میدهد. درصورت اعطای این اجازه، این اجازه برای هر نشانی ایمیل در سایتهای شرکتکننده بهخاطر سپرده میشود.
تنظیمات Chrome
کاربران میتوانند ایمیلهای تأییدشده خود را مدیریت کنند:
- در رایانه، در بخش تنظیمات > تکمیل خودکار و گذرواژهها > اطلاعات
تماس > ایمیل درستیسنجیشده (یا
chrome://settings/contactInfoرا باز کنید) - در Android، در تنظیمات > نشانیها و موارد دیگر > ایمیل تأییدشده
کاربران میتوانند این ویژگی را بهطور کامل غیرفعال کنند یا نشانیهای ایمیل درستیسنجیشده را بهصورت جداگانه مدیریت کنند.
ملاحظات مورد استفاده
درستیسنجی ایمیل یک بهبود تدریجی در جریان موجود شما است که نیاز کاربر به ترک سایت برای دریافت رمز یکبارمصرف یا کلیک کردن روی پیوند را برطرف میکند. سایتها میتوانند فیلدهای درستیسنجی ایمیل را به همه فرمهای مربوطه، مانند ورود به سیستم، ثبتنام خبرنامه، ایجاد حساب، و بازیابی گذرواژه اضافه کنند. «ایویپی» فقط درصورتی راهاندازی میشود که مرورگر از آن پشتیبانی کند. اگر هنگام ارسال کد دریافت نشد یا هریک از مراحل اعتبارسنجی ناموفق بود، میتوانید به جریان تأیید ایمیل پیشفرض خود برگردید. این همچنین به این معنی است که هیچ ویژگی تشخیص برای API وجود ندارد؛ سایت درستیسنج EVT را اختیاری درنظر میگیرد و درصورت وجود در درخواست، آن را پردازش میکند.
درستیسنجی ایمیل تأیید میکند که کاربر جلسه فعالی با ارائهدهنده نشانی ایمیل خود دارد. این ویژگی تأیید نمیکند که ایمیل شما به دست کاربر رسیده است. ممکن است همچنان بخواهید ایمیلهای خوشامدگویی یا آمادهسازی موجود را ارسال کنید و ممکن است بخواهید یا نیاز داشته باشید که از کاربر بخواهید تنظیمات هرزنامه خود را بررسی کند.