การยืนยันผู้ใช้รองช่วยให้คุณเพิ่มการรักษาความปลอดภัยจากปัจจัยที่ 2 ในคำสั่งเสียงได้ ซึ่งจะช่วยเพิ่มการรักษาความปลอดภัยสำหรับการดำเนินการบางอย่าง เช่น การปิดกล้องรักษาความปลอดภัยหรือการเปิดประตู การยืนยันผู้ใช้รองไม่ได้เชื่อมโยงกับลักษณะเฉพาะของอุปกรณ์ ซึ่งทำให้คุณตัดสินใจได้ว่าจะให้ Google Assistant ออกการทดสอบเมื่อใด เช่น คุณสามารถเลือกใช้คำท้าสำหรับลักษณะของ OnOff สำหรับกล้องรักษาความปลอดภัย แต่ไม่ใช่คำถามสำหรับลักษณะของ OnOff สำหรับไฟ นอกจากนี้ คุณยังให้มีAssistantปัญหาในบางสถานการณ์สำหรับการดำเนินการเดียวกันได้ด้วย เช่น คุณขอให้ Assistant ส่งคำขอพิสูจน์ให้เปิดประตูได้หากกุญแจ NFC ไม่ได้อยู่ใกล้กับประตูนั้น แต่ต้องไม่ออกความท้าทายหากมีกุญแจรีโมตอยู่
Assistant จะออกภารกิจได้ 2 ประเภท ได้แก่ การยอมรับอย่างชัดแจ้งหรือหมายเลขประจำตัวส่วนบุคคล (PIN) การดำเนินการนี้จะเพิ่มการบล็อกชาเลนจ์ไปยัง QUERY
และ Intent EXECUTE
ที่ส่งจาก Assistant กลับไปยังการดำเนินการ และยอมรับการตอบกลับข้อผิดพลาด challengeNeeded
จากนั้น Assistant จะส่งคำขอ Intent กลับไปยังการดำเนินการของคุณพร้อมข้อมูลชาเลนจ์ในชาเลนจ์บล็อก จากนั้นคุณจะตรวจสอบข้อมูลการพิสูจน์ได้เพื่อดูว่าผู้ใช้ให้การตอบกลับด้านความปลอดภัยที่ถูกต้องหรือไม่
Assistant จะใช้กล่องโต้ตอบเพื่อออกคำถาม แต่คุณจะใช้ Assistant ในแพลตฟอร์มที่ไม่มีเสียง การยืนยัน PIN และการยืนยันจะแสดงบนหน้าจอ
ประเภทอุปกรณ์ที่รองรับ
การยืนยันผู้ใช้รองสามารถใช้ได้กับอุปกรณ์ทุกประเภท
Trait ของอุปกรณ์ที่รองรับ
ระบบรองรับการยืนยันผู้ใช้รองในทุกลักษณะของอุปกรณ์
ประเภทคำถามที่รองรับ
ประเภทคำถามยืนยันตัวตนผู้ใช้รองที่รองรับมีดังนี้
- ไม่มีคําถาม - คําขอและการตอบกลับที่ไม่ได้ใช้การยืนยันตัวตนผู้ใช้รอง
- ackNeeded - การยืนยันผู้ใช้รองที่ต้องมีการตอบรับอย่างชัดแจ้ง (ใช่หรือไม่ใช่) และยังใช้สถานะลักษณะเป็นการตอบกลับได้ เราไม่แนะนำให้ใช้ความท้าทายประเภทนี้ สำหรับอุปกรณ์และลักษณะด้านความปลอดภัย
- pinNeeded - การยืนยันผู้ใช้รองที่ต้องใช้หมายเลขประจำตัวส่วนบุคคล (PIN) ซึ่งเหมาะกับอุปกรณ์และลักษณะเฉพาะของระบบ
ไม่มีคำท้า
ตัวอย่างนี้แสดงคำขอ EXECUTE
ที่สำเร็จและการตอบกลับโดยไม่มีความท้าทายในการเปิดไฟ
ผู้ใช้ | เปิดไฟ |
Google Assistant | ได้เลย กำลังเปิดไฟ 3 ดวง |
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "inputs": [{ "intent": "action.devices.EXECUTE", "payload": { "commands": [{ "devices": [{ "id": "123" }], "execution": [{ "command": "action.devices.commands.OnOff", "params": { "on": true } }] }] } }] }
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [{ "ids": ["123"], "status": "SUCCESS", "states": { "on": true, "online": true } }] } }
ackNeeded
การตรวจสอบสิทธิ์การยอมรับของผู้ใช้รองที่สามารถใช้หลายสถานะสำหรับลักษณะหนึ่งๆ หรือการตรวจสอบสิทธิ์รับทราบที่ไม่ซับซ้อน
การพิสูจน์ ackNeeded
ประเภทมีประเภทต่อไปนี้
ack Needed Simple
ตัวอย่างนี้แสดงคำขอและการตอบสนองง่ายๆ ด้วยภารกิจ ackNeeded
ให้หรี่ไฟและการยืนยันให้หรี่ไฟ
ผู้ใช้ | หรี่ไฟห้องนั่งเล่นหน่อย |
Google Assistant | กำลังหรี่ไฟห้องนั่งเล่น แน่ใจใช่ไหม |
ผู้ใช้ | ใช่ |
Google Assistant | กำลังหรี่ไฟห้องนั่งเล่น |
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "inputs": [{ "intent": "action.devices.EXECUTE", "payload": { "commands": [{ "devices": [{ "id": "123" }], "execution": [{ "command": "action.devices.commands.BrightnessAbsolute", "params": { "brightness": 12 } }] }] } }] }
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [{ "ids": ["123"], "status": "ERROR", "errorCode": "challengeNeeded", "challengeNeeded": { "type": "ackNeeded" } }] } }
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "inputs": [{ "intent": "action.devices.EXECUTE", "payload": { "commands": [{ "devices": [{ "id": "123" }], "execution": [{ "command": "action.devices.commands.BrightnessAbsolute", "params": { "brightness": 12 }, "challenge": { "ack": true } }] }] } }] }
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [{ "ids": ["123"], "status": "SUCCESS" }] } }
ackneeded พร้อมสถานะลักษณะ
การตรวจสอบสิทธิ์การยอมรับของผู้ใช้รองที่สามารถใช้สถานะสำหรับลักษณะหนึ่งๆ ได้
ตัวอย่างเช่น หากคุณทำงานโดยใช้ลักษณะเฉพาะ TemperatureSetting และได้ตั้งค่าทั้ง thermostatMode
และ thermostatTemperatureSetpoint
ไว้
Assistant จะถามได้ว่าคุณแน่ใจไหมว่าต้องการตั้งความร้อนของเครื่องปรับอากาศเป็น 28 องศา
คุณยังระบุสถานะในการตอบกลับเพื่อให้ Assistant ดำเนินการบางอย่างตามคำขอที่ระบุได้ด้วย
ลักษณะและรัฐต่อไปนี้รองรับ ackNeeded
ที่มีสถานะ Trait การระบุลักษณะเฉพาะตัวเป็นการระบุว่ารัฐทุกรัฐที่ได้รับการสนับสนุน
- ArmDisarm
currentArmLevel
currentStatusReport
- Fill
- LockUnlock
- OnOff
on
- OpenClose
- Scene
- TemperatureSetting
thermostatMode
thermostatTemperatureSetpoint
thermostatTemperatureSetpointHigh
thermostatTemperatureSetpointLow
ตัวอย่างนี้แสดงคำขอและคำตอบพร้อมการท้าทาย ackNeeded
ที่ใช้สถานะ Trait เปลี่ยนโหมดเครื่องปรับอากาศเป็นทำความร้อนและตั้งค่าอุณหภูมิเป็น 28 องศา จากนั้น Assistant จะขอให้ผู้ใช้ตอบรับให้เปิดการทำความร้อนและตั้งอุณหภูมิเป็น 28 องศา เนื่องจากระบบจะส่งคืน thermostatTemperatureSetpoint
28
เป็นสถานะในการตอบสนอง
ผู้ใช้ | ตั้งโหมด AC เป็นทำความร้อน |
Google Assistant | แน่ใจไหมว่าต้องการตั้งอุณหภูมิแอร์เป็น 28 องศา |
ผู้ใช้ | ใช่ |
Google Assistantnt | กำลังตั้งค่าความร้อนในเครื่องปรับอากาศเป็น 28 องศา |
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "inputs": [{ "intent": "action.devices.EXECUTE", "payload": { "commands": [{ "devices": [{ "id": "123" }], "execution": [{ "command": "action.devices.commands.TemperatureSetting", "params": { "thermostatMode": "heat" } }] }] } }] }
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [{ "ids": ["123"], "status": "ERROR", "states": { "thermostatMode": "heat", "thermostatTemperatureSetpoint": 28 }, "errorCode": "challengeNeeded", "challengeNeeded": { "type": "ackNeeded" } }] } }
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "inputs": [{ "intent": "action.devices.EXECUTE", "payload": { "commands": [{ "devices": [{ "id": "123" }], "execution": [{ "command": "action.devices.commands.TemperatureSetting", "params": { "thermostatMode": "heat" }, "challenge": { "ack": true } }] }] } }] }
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [{ "ids": ["123"], "status": "SUCCESS", "states": { "thermostatMode": "heat", "thermostatTemperatureSetpoint": 28 } }] } }
pinNeeded
ขอแนะนําให้ใช้การทดสอบ pinNeeded
สําหรับอุปกรณ์รักษาความปลอดภัย
ตัวอย่างนี้แสดงคำขอเริ่มต้นและการตอบกลับที่มีชาเลนจ์ pinNeeded
ตัวอย่างนี้แสดงการตอบกลับที่มีคำถาม pinNeeded
ดังนั้น Assistant จึงขอ PIN ในตอนนี้ผู้ใช้สามารถระบุ PIN ที่ไม่ถูกต้องหรือใช้งานได้
ตัวอย่างคำขอและคำตอบสำหรับ PIN ที่ไม่ถูกต้องหรือถูกต้อง
ผู้ใช้ | ปลดล็อกประตู |
Google Assistant | ขอทราบรหัสความปลอดภัยหน่อยได้ไหม |
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "inputs": [{ "intent": "action.devices.EXECUTE", "payload": { "commands": [{ "devices": [{ "id": "123" }], "execution": [{ "command": "action.devices.commands.LockUnlock", "params": { "lock": false } }] }] } }] }
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [{ "ids": ["123"], "status": "ERROR", "errorCode": "challengeNeeded", "challengeNeeded": { "type": "pinNeeded" } }] } }
PIN ไม่ถูกต้อง
ตัวอย่างนี้แสดงคำขอและคำตอบที่มีความท้าทาย challengeFailedPinNeeded
ควรใช้คำท้านี้หลังจากที่ภารกิจ pinNeeded
ครั้งแรกล้มเหลว
เมื่อแสดงประเภท challengeFailedPinNeeded
Assistant จะขอรหัสความปลอดภัยอีกครั้ง หากผู้ใช้พยายามไม่สำเร็จหลายครั้งเกินไป คุณจะแสดงผลการตอบกลับข้อผิดพลาด tooManyFailedAttempts
ได้ โปรดดูการตอบกลับข้อผิดพลาด
ผู้ใช้ | 333222 |
Google Assistant | ขออภัย รหัสความปลอดภัยไม่ถูกต้อง ขอทราบรหัสความปลอดภัยหน่อยได้ไหม |
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "inputs": [{ "intent": "action.devices.EXECUTE", "payload": { "commands": [{ "devices": [{ "id": "123" }], "execution": [{ "command": "action.devices.commands.LockUnlock", "params": { "lock": false }, "challenge": { "pin": "333222" } }] }] } }] }
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [{ "ids": ["123"], "status": "ERROR", "errorCode": "challengeNeeded", "challengeNeeded": { "type": "challengeFailedPinNeeded" } }] } }
PIN ถูกต้อง
ตัวอย่างนี้แสดงคำขอและการตอบสนองของ PIN ที่ถูกต้อง
ผู้ใช้ | 333444 |
Google Assistant | กำลังปลดล็อกประตู |
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "inputs": [{ "intent": "action.devices.EXECUTE", "payload": { "commands": [{ "devices": [{ "id": "123" }], "execution": [{ "command": "action.devices.commands.LockUnlock", "params": { "lock": false }, "challenge": { "pin": "333444" } }] }] } }] }
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [{ "ids": ["123"], "status": "SUCCESS", "states": { "isLocked": false, "isJammed": false } }] } }
ผู้ใช้ | หรี่ไฟห้องนั่งเล่นหน่อย |
Google Assistant | ขอทราบรหัสความปลอดภัยหน่อยได้ไหม |
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "inputs": [{ "intent": "action.devices.EXECUTE", "payload": { "commands": [{ "devices": [{ "id": "123" }], "execution": [{ "command": "action.devices.commands.BrightnessAbsolute", "params": { "brightness": 12 } }] }] } }] }
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [{ "ids": ["123"], "status": "ERROR", "errorCode": "challengeNeeded", "challengeNeeded": { "type": "pinNeeded" } }] } }
การตอบกลับข้อผิดพลาด
รหัสข้อผิดพลาดต่อไปนี้ที่แสดงผลพร้อมคำตอบได้มีดังนี้
challengeFailedNotSetup
- การดำเนินการนี้ต้องใช้รหัสความปลอดภัย แต่ยังไม่ได้ตั้งรหัสดังกล่าว ในแอปของอุปกรณ์tooManyFailedAttempts
- ขออภัย คุณพยายามไม่สำเร็จหลายครั้งเกินไป โปรดไปที่แอปของอุปกรณ์เพื่อดำเนินการดังกล่าวให้เสร็จสิ้นpinIncorrect
- ขออภัย รหัสความปลอดภัยไม่ถูกต้องuserCancelled
- ตกลง
ดูรายการข้อผิดพลาดและข้อยกเว้นทั้งหมด