การยืนยันผู้ใช้สํารองช่วยให้คุณเพิ่มความปลอดภัยในปัจจัยที่ 2 ลงในคําสั่งด้วยเสียงได้ วิธีนี้จะช่วยให้คุณเพิ่มความปลอดภัยสําหรับการดําเนินการบางอย่าง เช่น การปิดกล้องรักษาความปลอดภัยหรือการเปิดประตูได้ การยืนยันผู้ใช้รองไม่ได้ผูกกับลักษณะเฉพาะของอุปกรณ์ ซึ่งทําให้คุณตัดสินใจได้ว่าจะGoogle Assistant รับคําท้าเมื่อใด ตัวอย่างเช่น คุณสามารถเลือกที่จะแข่งขันด้วยลักษณะเฉพาะของ OnOff สําหรับกล้องวงจรปิด แต่จะไม่ออกการทดสอบสําหรับลักษณะเฉพาะของ OnOff สําหรับแสงแบบหนึ่งๆ คุณยังอาจลองตอบคําถาม Assistant ข้อในสถานการณ์บางอย่างได้ ตัวอย่างเช่น คุณขอให้ Assistant ออกคําขอเปิดประตูได้ หากคีย์ NFC ไม่ได้อยู่ในระยะใกล้ของประตูนั้น แต่ไม่ต้องเป็นผู้ออก หากเกิดปัญหา
Assistant มีคําถาม 2 ประเภท ได้แก่
การรับทราบอย่างชัดเจนหรือหมายเลขประจําตัวส่วนบุคคล (PIN) การดําเนินการนี้จะเพิ่มการบล็อกภารกิจไปยัง QUERY
และ Intent ของ EXECUTE
ที่ส่งจาก Assistant กลับไปยังการดําเนินการ และยอมรับการตอบสนองข้อผิดพลาด challengeNeeded
จากนั้น Assistant จะส่งคําขอ Intent กลับมา
พร้อมกับข้อมูลภารกิจในบล็อกทดสอบ จากนั้นคุณสามารถตรวจสอบข้อมูลคําถามเพื่อพิจารณาว่าผู้ใช้มีการตอบกลับเกี่ยวกับความปลอดภัยที่ถูกต้องหรือไม่
Assistant จะใช้กล่องโต้ตอบเพื่อออกตัวทดสอบ แต่ถ้าคุณใช้ Assistant บนพื้นผิวที่ไม่ใช่ Voice จะมีการใช้ PIN และการยืนยันบนหน้าจอ
ประเภทอุปกรณ์ที่สนับสนุน
การยืนยันผู้ใช้รองสามารถใช้ได้กับอุปกรณ์ทุกประเภท
ลักษณะเฉพาะของอุปกรณ์ที่รองรับ
รองรับการยืนยันผู้ใช้รองสําหรับลักษณะอุปกรณ์ทั้งหมดแล้ว
ประเภทคําท้าที่รองรับ
ประเภทของการยืนยันตัวตนเพื่อยืนยันผู้ใช้รองที่รองรับมีดังนี้
- ไม่มีคําถามสําหรับทดสอบ - คําขอและคําตอบที่ไม่ใช้คํายืนยันจากการยืนยันผู้ใช้รอง
- 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
เพื่อหรี่ไฟและการยืนยันเพื่อหรี่ไฟ
ผู้ใช้ | หรี่ไฟห้องนั่งเล่นหน่อย |
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" }] } }
ackต้องการพร้อมกับสถานะลักษณะเฉพาะ
การตรวจสอบสิทธิ์ผู้ใช้ที่รับทราบแล้วรองสามารถใช้สถานะสําหรับลักษณะได้
ตัวอย่างเช่น ถ้าคุณทํางานกับลักษณะเฉพาะของ TemperatureSetting และทั้ง thermostatMode
และ thermostatTemperatureSetpoint
ถูกตั้งค่าไว้ Assistant สามารถถาม คุณแน่ใจหรือไม่ว่าต้องการตั้งค่าความร้อนเป็นเครื่องปรับอากาศเป็น 28 องศา
คุณรวมรัฐไว้ในการตอบกลับเพื่อให้ Assistant ดําเนินการที่เจาะจงตามคําขอที่ให้ไว้ได้ด้วย
สถานะและลักษณะต่อไปนี้รองรับ ackNeeded
กับสถานะ ข้อมูลลักษณะที่เจาะจงแสดงให้เห็นว่ารัฐทุกแห่งได้รับการสนับสนุน
- เปิดและปิดระบบป้องกัน
currentArmLevel
currentStatusReport
- เติม
- LockLock
- ปิด
on
- OpenClose
- ฉาก
- การตั้งค่าอุณหภูมิ
thermostatMode
thermostatTemperatureSetpoint
thermostatTemperatureSetpointHigh
thermostatTemperatureSetpointLow
ตัวอย่างนี้แสดงคําขอและการตอบกลับที่มีคําถาม ackNeeded
ซึ่งใช้สถานะลักษณะเฉพาะ เปลี่ยนโหมดปรับอากาศเป็นโหมดทําความร้อน
และตั้งอุณหภูมิเป็น 28 องศา จากนั้น Assistant จะขอให้ผู้ใช้รับทราบเพื่อเปิดใช้การทําความร้อนและตั้งค่าอุณหภูมิเป็น 28 องศาเนื่องจากการส่งคืน thermostatTemperatureSetpoint
ของ 28
เป็นสถานะในการตอบสนอง
ผู้ใช้ | ตั้งค่าโหมด AC เป็นโหมดทําความร้อน |
Google Assistant | คุณแน่ใจไหมว่าต้องการตั้งค่าความร้อนสําหรับเครื่องปรับอากาศเป็น 28 องศา |
ผู้ใช้ | ได้ |
Google Assistant รายการ | กําลังตั้งค่าความร้อนให้เครื่องปรับอากาศเป็น 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 } }] } }
ต้องใช้ PIN
ขอแนะนําให้ทําภารกิจระดับ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
- ตกลง
ดูรายการข้อผิดพลาดและข้อยกเว้นทั้งหมด