วิธีการสำรองในการยืนยันผู้ใช้ช่วยให้คุณเพิ่มการรักษาความปลอดภัยแบบ 2 ปัจจัยลงในคำสั่งเสียงได้ ซึ่งจะช่วยให้คุณเพิ่มการรักษาความปลอดภัยเพิ่มเติมสำหรับการดำเนินการบางอย่าง เช่น การปิดกล้องรักษาความปลอดภัยหรือการเปิดประตู การยืนยันผู้ใช้รองไม่ได้เชื่อมโยงกับลักษณะเฉพาะของอุปกรณ์ ซึ่งช่วยให้คุณตัดสินใจได้ว่าจะให้ Google Assistant ออกคำท้าเมื่อใด ตัวอย่างเช่น คุณสามารถเลือก ออกคำท้าสำหรับลักษณะเฉพาะ OnOff ของ กล้องรักษาความปลอดภัย แต่ไม่ออกคำท้าสำหรับลักษณะเฉพาะ OnOff ของไฟ นอกจากนี้ คุณยังสามารถให้ Assistant ออกคำท้าในบางสถานการณ์สำหรับการดำเนินการเดียวกันได้ด้วย ตัวอย่างเช่น คุณ สามารถขอให้ Assistant ออกคำขอคำท้าเพื่อ เปิดประตูหากพวงกุญแจ NFC ไม่อยู่ใกล้ประตู แต่ไม่ ออกคำท้าหากมีพวงกุญแจอยู่
Assistant สามารถออกคำท้าได้ 2 ประเภท ได้แก่
การรับทราบอย่างชัดแจ้งหรือหมายเลขประจำตัวส่วนบุคคล (PIN) ซึ่งจะเพิ่มบล็อกคำท้าลงใน QUERY และ EXECUTE Intent ที่ส่งจาก Assistant กลับไปยังการดำเนินการของคุณ และยอมรับการตอบกลับข้อผิดพลาด challengeNeeded Assistant จากนั้นจะส่งคำขอ Intent กลับไปยัง
การดำเนินการของคุณพร้อมข้อมูลคำท้าในบล็อกคำท้า จากนั้นคุณสามารถตรวจสอบข้อมูลคำท้าเพื่อดูว่าผู้ใช้ให้การตอบกลับด้านความปลอดภัยที่ถูกต้องหรือไม่
Assistant ใช้กล่องโต้ตอบเพื่อออกคำท้า แต่หากคุณ ใช้ Assistant บนพื้นผิวที่ไม่ใช่เสียง ระบบจะแสดง PIN และ การยืนยันบนหน้าจอ
กรณีที่ควรใช้การยืนยันผู้ใช้รอง
คุณสามารถเปิดใช้การยืนยันผู้ใช้รองสำหรับอุปกรณ์หรือลักษณะเฉพาะทุกประเภท อย่างไรก็ตาม คุณต้องใช้ วิธีการสำรองในการยืนยันผู้ใช้ สำหรับอุปกรณ์และลักษณะเฉพาะบางประเภทที่มีความละเอียดอ่อนด้านความปลอดภัยเพื่อให้ได้รับการรับรองการผสานรวม
คุณต้องใช้การยืนยันผู้ใช้รองโดยใช้ประเภทคำท้า pinNeeded สำหรับค่าผสมของลักษณะเฉพาะและประเภทอุปกรณ์ต่อไปนี้
- ลักษณะเฉพาะ
OnOffหากประเภทอุปกรณ์คือCAMERA - ลักษณะเฉพาะ
OpenCloseหากประเภทอุปกรณ์คือDOOR,GARAGE,GATEหรือWINDOW - ลักษณะเฉพาะ
LockUnlockเมื่อปลดล็อก - ลักษณะเฉพาะ
ArmDisarmเมื่อปลดอาวุธหรือยกเลิกการปลดอาวุธ - ลักษณะเฉพาะ
Reboot,SoftwareUpdateหรือNetworkControlหากประเภทอุปกรณ์คือNETWORKหรือROUTER
คุณต้องใช้ประเภทคำท้า ackNeeded สำหรับลักษณะเฉพาะ TemperatureSetting หากประเภทอุปกรณ์คือ AC_UNIT และการผสานรวมอยู่ในญี่ปุ่น
ประเภทภารกิจที่รองรับ
ประเภทคำท้าของการยืนยันผู้ใช้รองที่รองรับมีดังนี้
- ไม่มีคำท้า - คำขอและการตอบกลับที่ไม่ใช้ คำท้าของการยืนยันผู้ใช้รอง
- 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 มีดังนี้
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" }] } }
ackNeeded พร้อมสถานะลักษณะเฉพาะ
การตรวจสอบสิทธิ์การรับทราบของผู้ใช้รองที่ใช้สถานะสำหรับลักษณะเฉพาะได้
ตัวอย่างเช่น หากคุณใช้ลักษณะเฉพาะ
TemperatureSetting และตั้งค่าทั้ง
thermostatMode และ thermostatTemperatureSetpoint ไว้
Assistant จะถามว่า คุณแน่ใจไหมว่าต้องการตั้งค่าความร้อน
ในเครื่องปรับอากาศเป็น 28 องศา
นอกจากนี้ คุณยังใส่สถานะในการตอบกลับเพื่อให้ Assistant ดำเนินการที่เฉพาะเจาะจงตามคำขอที่ระบุได้ด้วย
ลักษณะเฉพาะและสถานะต่อไปนี้รองรับ ackNeeded พร้อมสถานะลักษณะเฉพาะ การแสดงรายการลักษณะเฉพาะที่เฉพาะเจาะจงบ่งบอกว่าระบบรองรับสถานะทั้งหมดของลักษณะเฉพาะนั้น
- ArmDisarm
- ใช้คำท้าประเภท
ackNeededเพื่อติดอาวุธหรือยกเลิกการติดอาวุธอุปกรณ์ แต่สำหรับฟังก์ชันการปลดอาวุธและยกเลิกการปลดอาวุธ คุณต้องใช้คำท้าประเภทpinNeeded - Fill
- LockUnlock
- ใช้คำท้าประเภท
ackNeededเพื่อล็อกอุปกรณ์ และคำท้าประเภทpinNeededเพื่อปลดล็อก - OnOff
on- ใช้คำท้าประเภท
ackNeededสำหรับลักษณะเฉพาะนี้ คุณต้องใช้คำท้าประเภทpinNeededเมื่อใช้ลักษณะเฉพาะนี้กับอุปกรณ์CAMERA - OpenClose
- ใช้คำท้าประเภท
ackNeededสำหรับลักษณะเฉพาะนี้ คุณต้องใช้คำท้าประเภทpinNeededเมื่อใช้ลักษณะเฉพาะนี้กับอุปกรณ์DOOR,GARAGE,GATEหรือWINDOW - Scene
- TemperatureSetting
thermostatModethermostatTemperatureSetpointthermostatTemperatureSetpointHighthermostatTemperatureSetpointLow
ตัวอย่างนี้แสดงคำขอและการตอบกลับพร้อมคำท้า ackNeeded ที่ใช้สถานะลักษณะเฉพาะ โดยจะเปลี่ยนโหมดเครื่องปรับอากาศเป็นโหมดทำความร้อนและตั้งอุณหภูมิเป็น 28 องศา จากนั้น Assistant จะขอให้ผู้ใช้
รับทราบเพื่อเปิดโหมดทำความร้อนและตั้งอุณหภูมิเป็น 28
องศา เนื่องจากระบบแสดง thermostatTemperatureSetpoint เป็น 28 เป็นสถานะ
ในการตอบกลับ
| ผู้ใช้ | ตั้งโหมดเครื่องปรับอากาศเป็นโหมดทำความร้อน |
| 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 } }] } }
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
AssistantAssistant จะขอรหัสความปลอดภัยอีกครั้ง หากผู้ใช้พยายามไม่สำเร็จหลายครั้ง คุณสามารถแสดงการตอบกลับข้อผิดพลาด 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" } }] } }
การตอบกลับข้อผิดพลาด
ต่อไปนี้คือรหัสข้อผิดพลาดบางรายการที่อาจแสดงในการตอบกลับ
- tooManyFailedAttempts - ขออภัย คุณพยายามไม่สำเร็จหลายครั้งเกินไป โปรดไปที่แอปของอุปกรณ์เพื่อดำเนินการดังกล่าวให้เสร็จสมบูรณ์
- pinIncorrect - ขอโทษนะ รหัสความปลอดภัยไม่ถูกต้อง
- userCancelled - ตกลง