החל מגרסה 93 של Chrome, אתרים יכולים לאמת מספרי טלפון מ-Chrome במחשב.
WebOTP עוזר למשתמשים להזין קוד אימות של מספר טלפון באתר לנייד בלחיצה אחת, בלי לעבור בין אפליקציות. בגרסה 93 של Chrome, הפונקציונליות הזו זמינה גם במחשב. מידע נוסף מופיע בהמשך.
מבוא
בדרך כלל משתמשים ב-OTP (סיסמה חד-פעמית) ב-SMS כדי לאמת מספר טלפון, למשל כשלב שני באימות, או כדי לאמת תשלומים באינטרנט. עם זאת, התהליך כולו של המעבר מהמחשב לנייד, פתיחת אפליקציית ה-SMS, שמירה והזנה של קוד האימות החד-פעמי באתר המקורי חזרה במחשב, מוסיף חיכוך. כך קל לעשות שגיאות והוא חשוף למתקפות פישינג.
WebOTP API מאפשר לאתרים לקבל באופן פרוגרמטי את הסיסמה לשימוש חד-פעמי מהודעת SMS ולמלא את הטופס באופן אוטומטי עבור המשתמשים בהקשה אחת בלבד, בלי לעבור בין אפליקציות. להודעת ה-SMS יש פורמט ספציפי והיא מקושרת למקור, כך שהיא גם מפחיתה את הסיכון לאתרי פישינג לגנוב את קוד האימות החד-פעמי.
דוגמה אחת לשימוש שעדיין לא נתמך ב-WebOTP היא טירגוט של בקשות לאימות מספר טלפון ממחשב נייח או ממחשב נייד מרחוק – ה-API פועל רק במכשירים שיש להם יכולות טלפוניה. מעכשיו, ה-API תומך בהאזנה להודעות SMS שהתקבלו במכשירים אחרים, כדי לעזור למשתמשים להשלים את תהליך האימות של מספר הטלפון במחשב ב-Chrome 93.
רוצה לנסות?
דרישות מוקדמות
- מחשב נייח או מחשב נייד (Windows, Mac, Linux או ChromeOS).
- טלפון Android עם גרסה 20.30.12 ואילך של Google Play Services.
- Chrome מגרסה 93 ואילך, גם במחשב וגם בנייד. גרסת הבטא של Chrome 93 זמינה החל מסוף יולי 2021.
- צריך להיכנס לאותו חשבון Google גם ב-Chrome למחשב וגם ב-Chrome לנייד. לדוגמה, דרך https://myaccount.google.com/ או https://mail.google.com. אין צורך להפעיל את הסנכרון.
- במכשיר Android, צריך להיכנס לחשבון Android דרך 'הגדרות' > 'Google'.
- Chrome 93 חייב להיות דפדפן ברירת המחדל במכשיר Android.
- גרסת Chrome 93 חייבת לפעול בחזית או ברקע במכשיר Android.
הדגמה (דמו)
כדי לנסות בעצמכם את תהליך האימות החלק של מספר הטלפון במחשב, תוכלו לפעול לפי השלבים הבאים:
- נכנסים לכתובת https://web-otp-demo.glitch.me/ במחשב. לוחצים על הלחצן אימות.
- שולחים את הודעת הטקסט המדויקת שהופיעה במסך מטלפון שני למכשיר Android.
- כשהודעת ה-SMS תישלח למכשיר Android, תוצג תיבת דו-שיח עם שאלה אם רוצים לאמת את מספר הטלפון במחשב. מקישים על שליחה כדי לאשר.
- במחשב, קוד האימות שנשלח למכשיר Android אמור להיכנס באופן אוטומטי בשדה הקלט.
איך פועל WebOTP API
נראה איך פועל WebOTP API:
…
const otp = await navigator.credentials.get({
otp: { transport:['sms'] }
});
if (otp.code) input.value = otp.code;
…
הודעת ה-SMS חייבת להיות בפורמט עם הקודים החד-פעמיים שמקושרים למקור.
Your OTP is: 123456.
@web-otp-demo.glitch.me #123456
שימו לב שהשורה האחרונה מכילה את המקור שרוצים לקשר, לפניו התו @
ואחריו את ה-OTP לפניו התו #
.
כשהודעת הטקסט תגיע, יופיע סרגל מידע עם בקשה לאימות מספר הטלפון של המשתמש. אחרי שהמשתמש לוחץ על הלחצן Verify
, הדפדפן מעביר את ה-OTP לאתר באופן אוטומטי ומפנה את navigator.credentials.get()
. לאחר מכן, האתר יוכל לחלץ את ה-OTP ולהשלים את תהליך האימות.
מידע נוסף זמין במאמר אימות מספרי טלפון באינטרנט באמצעות WebOTP API.
איך משתמשים ב-WebOTP API במחשב
אימות מספר טלפון באמצעות SMS נפוץ מאוד ולא תלוי בפלטפורמה. כל תרחישי השימוש במכשירים ניידים צריכים להתאים למכשירים במחשב.
השימוש ב-WebOTP API במחשב זהה לשימוש בנייד, כך שאפשר לפרוס את אותו קוד באתרים שונים בפלטפורמות שונות.
תמיכה בדפדפנים ויכולת פעולה הדדית
התכונה הזו פועלת באמצעות סנכרון Chrome, ולכן היא פועלת כרגע רק ב-Chrome. אין תמיכה בקבלה ובשליחת הודעות SMS ב-iOS או ב-iPad OS ב-Chrome.
מנועי דפדפנים שאינם Chromium לא מטמיעים את WebOTP API, אבל ב-Safari יש את אותו פורמט SMS בתמיכה ב-input[autocomplete="one-time-code"]
. ב-Safari, כל עוד המשתמש הפעיל את הסנכרון האוטומטי של iMessage, כשמתקבלת הודעת SMS שמכילה קוד חד-פעמי שמקושר למקור עם המקור התואם ב-iOS או ב-iPadOS, ההודעה מועברת ל-macOS. אם המשתמש מתמקד בשדה הקלט, Safari יציע לו להזין את קוד האימות החד-פעמי.
משוב
המשוב שלכם עוזר לנו לשפר את WebOTP API. כדאי לנסות אותו ולהגיד לנו מה חשבתם.
תמונה של Luis Villasmil מ-Unsplash