โดยค่าเริ่มต้น บริการบัญชีที่เข้าถึงได้จากภายนอกของ Google จะจัดการการตรวจสอบสิทธิ์สำหรับบัญชี Google เมื่อผู้ใช้ที่ไม่ได้รับการตรวจสอบสิทธิ์เข้าชมหน้า Google ที่ต้องมีการตรวจสอบสิทธิ์ แบบฟอร์มเข้าสู่ระบบของ Google จะขออีเมลและรหัสผ่านของผู้ใช้ หลังจากที่ผู้ใช้ส่งอีเมลและรหัสผ่านแล้ว การตรวจสอบสิทธิ์ของ Google จะยืนยันว่าข้อมูลเข้าสู่ระบบที่ป้อนถูกต้อง หากข้อมูลเข้าสู่ระบบถูกต้อง การตรวจสอบสิทธิ์ของ Google จะตั้งค่าคุกกี้การเข้าสู่ระบบของผู้ใช้
องค์กรบางแห่งใช้โมเดลที่ซับซ้อนกว่าซึ่งผู้ให้บริการข้อมูลประจำตัว (IdP) ของบุคคลที่สามจะจัดการการตรวจสอบสิทธิ์ การตรวจสอบสิทธิ์ของ Google รองรับโมเดลนี้ผ่านโปรโตคอลภาษามาร์กอัปเพื่อยืนยันความปลอดภัย (SAML) ซึ่งเป็นมาตรฐานอุตสาหกรรม ผู้ดูแลระบบสามารถกำหนดค่าโดเมนให้ใช้การตรวจสอบสิทธิ์ SAML ได้
การขอรับรหัสผ่านของผู้ใช้
ChromeOS ต้องระบุรหัสผ่านของผู้ใช้ที่ป้อนระหว่างการเข้าสู่ระบบเพื่อดำเนินการต่อไปนี้
- เข้ารหัสข้อมูลของผู้ใช้ที่จัดเก็บไว้ในดิสก์ไดรฟ์
- ปกป้องหน้าจอล็อก
- เปิดใช้การเข้าสู่ระบบแบบออฟไลน์เมื่อไม่มีการเข้าถึงเครือข่าย
เมื่อใช้ SAML จะไม่มีการป้อนรหัสผ่านในกล่องโต้ตอบของระบบ ChromeOS โดยตรง แต่จะป้อนภายใน WebView ที่โฮสต์โดยผู้ให้บริการข้อมูลประจำตัว แม้ว่า ChromeOS จะมีสิทธิ์เข้าถึง HTML แต่ก็ไม่มีวิธีที่ง่ายและเป็นมาตรฐานในการรับรหัสผ่าน เนื่องจากไม่ชัดเจนว่าช่องแบบฟอร์มใดมีข้อมูล
เมื่อใช้ SAML คุณจะดูรหัสผ่านของผู้ใช้ได้ 2 วิธี ได้แก่ Credentials Passing API และการคัดลอกรหัสผ่าน
Chrome Credentials Passing API
Google มี Credentials Passing API ที่ผู้ให้บริการข้อมูลประจำตัวสามารถติดตั้งใช้งานในหน้า SAML ใน JavaScript เพื่อส่งข้อมูลที่จำเป็นไปยัง ChromeOS ได้ การตรวจสอบสิทธิ์ของ Google ใช้ API นี้ แต่ผู้ให้บริการข้อมูลประจำตัว SAML ใดก็ได้สามารถใช้ API นี้ได้เช่นกัน
การคัดลอกรหัสผ่าน
ผู้ให้บริการข้อมูลประจำตัว SAML อาจใช้การคัดลอกรหัสผ่านเมื่อไม่รองรับ Credentials Passing API
ในวิธีนี้
- หน้าจอการตรวจสอบสิทธิ์จะแทรกสคริปต์เนื้อหาลงใน WebView ที่โฮสต์กระบวนการเข้าสู่ระบบ
- Content Script จะระบุช่องป้อนข้อมูล HTML ประเภทรหัสผ่านและคัดลอกเนื้อหาลงในอาร์เรย์ ระบบจะอัปเดตอาร์เรย์เมื่อใดก็ตามที่มีการเปลี่ยนแปลงเนื้อหาของช่องรหัสผ่าน
- ระบบจะส่งรหัสผ่านที่คัดลอกมาไปยังหน้าพื้นหลังที่รวบรวมรหัสผ่านเหล่านั้น วิธีนี้จะช่วยให้ระบบบันทึกรหัสผ่านได้แม้ว่าขั้นตอนการเข้าสู่ระบบจะมีการเปลี่ยนเส้นทางหลายครั้งไปยังหน้า HTML ต่างๆ
เมื่อสิ้นสุดโฟลว์การเข้าสู่ระบบ ระบบจะดึงอาร์เรย์ของรหัสผ่านที่คัดลอกจากหน้าพื้นหลัง มี 3 กรณีที่อาจเกิดขึ้น ได้แก่ ไม่มีการคัดลอกรหัสผ่าน มีการคัดลอกรหัสผ่าน 1 รายการ หรือมีการคัดลอกรหัสผ่านมากกว่า 1 รายการ
ไม่มีการคัดลอกรหัสผ่าน
Content Script ค้นหารหัสผ่านในหน้า HTML ที่ผู้ให้บริการข้อมูลประจำตัวแสดงไม่ได้ ผู้ให้บริการข้อมูลประจำตัวอาจไม่ใช้รหัสผ่านแบบเดิม
ในสถานการณ์นี้ ChromeOS จะแจ้งให้ผู้ใช้เลือกตั้งรหัสผ่านด้วยตนเองสำหรับอุปกรณ์ หากไม่มีรหัสผ่าน (เช่น การตรวจสอบสิทธิ์ด้วยสมาร์ทการ์ด, NFC, ไบโอเมตริก) กระบวนการตรวจสอบสิทธิ์ของ ChromeOS อาจดำเนินการต่อโดยไม่ต้องใช้รหัสผ่าน
มีการคัดลอกรหัสผ่าน 1 รายการ
Content Script จะระบุรหัสผ่าน 1 รายการเท่านั้น ซึ่งมักจะเป็นรหัสผ่านของผู้ใช้ที่ใช้ในการตรวจสอบสิทธิ์
ในสถานการณ์นี้ เราน่าจะคัดลอกรหัสผ่านของผู้ใช้ได้อย่างถูกต้อง ChromeOS จะใช้รหัสผ่านที่คัดลอกมาเป็นรหัสผ่านของผู้ใช้เพื่อดำเนินการกระบวนการตรวจสอบสิทธิ์ต่อไป
มีการคัดลอกรหัสผ่านมากกว่า 1 รายการ
Content Script ระบุรหัสผ่านหลายรายการ กรณีนี้อาจเกิดขึ้นได้ในสถานการณ์ต่างๆ เช่น ผู้ให้บริการข้อมูลประจำตัวกำหนดให้ผู้ใช้ป้อนรหัสผ่านถาวรและรหัสผ่านแบบใช้ครั้งเดียวในแบบฟอร์มการเข้าสู่ระบบ
ในสถานการณ์นี้ เราอาจขูดรหัสผ่านจริงของผู้ใช้และช่องรหัสผ่านเพิ่มเติมบางช่องที่ ChromeOS ไม่สนใจ ChromeOS จะแจ้งให้ผู้ใช้ป้อนรหัสผ่านอีกครั้งในข้อความแจ้งรหัสผ่านเพิ่มเติมเพื่อพิจารณาว่ารหัสผ่านใดถูกต้อง
หากรหัสผ่านที่ป้อนตรงกับรหัสผ่านที่คัดลอกมา ระบบจะระบุรหัสผ่านจริงของผู้ใช้และดำเนินการตรวจสอบสิทธิ์ต่อไป หากไม่ตรงกัน ระบบจะแจ้งให้ผู้ใช้ป้อนรหัสผ่านอีกครั้ง หลังจากไม่ตรงกัน 2 ครั้ง การเข้าสู่ระบบจะล้มเหลวพร้อมข้อความแสดงข้อผิดพลาด
การลงทะเบียนขององค์กร
สำหรับการลงทะเบียนระดับองค์กร คุณต้องมีอีเมลของผู้ใช้ที่ลงทะเบียนเพื่อเชื่อมโยงอุปกรณ์กับโดเมนที่ถูกต้อง ระบบจะส่งอีเมลจากเซิร์ฟเวอร์การจัดการอุปกรณ์ (DM) ไปยัง Chrome ในช่องชื่อผู้ใช้ของข้อความ PolicyData ระหว่างการดึงข้อมูลนโยบายของอุปกรณ์ ไม่จำเป็นต้องกำหนดรหัสผ่านของผู้ใช้