İkincil Kullanıcı Doğrulaması

İkincil kullanıcı doğrulaması, sese ikinci düzey güvenlik eklemenize olanak tanır komutlarının ikisine katlanır. Bu sayede, güvenlik kamerasını kapatma veya kapı açma gibi işlemlerde işe yarar. İkincil kullanıcı doğrulaması: belirli bir cihaz özelliğine bağlı olmadığından emin olun. Google Assistant bir sorgulama yaptı. Örneğin, OnOff özelliği için bir sorgulama giriş sorgulaması veya OnOff bir ışık özelliğidir. Dilerseniz Assistant aynı eylem için belirli durumlarda zorluklar bildirebilirsiniz. Örneğin, Assistant tarafından şunun için bir itiraz isteği gönderilmesini isteyebilirsiniz: NFC uzaktan kumandalı anahtar, ilgili kapının yakınında değilse ancak yakınınızda değilse tuş seti varsa meydan okuma yapın.

Assistant iki tür meydan okuma gönderebilir: açıkça onay veya kişisel kimlik numarası (PIN) sağlamanız gerekir. Bu işlem, Assistant uygulamasından işleminize geri gönderilen ve challengeNeeded hatasını kabul eden QUERY ve EXECUTE amaca yönelik meydan okuma bloğu tıklayın. Assistant, amaç isteğini kullanıcıya geri gönderir. sorgulama bloğundaki meydan okuma verileriyle işleminizi tamamlayın. Ardından Kullanıcının doğru güvenlik düzeyini verip vermediğini belirlemek için sorgulama verilerini doğrulamalıdır tıklayın.

Assistant, sorgulamayı yapmak için iletişim kutusunu kullanır. Ancak ses harici yüzeylerde Assistant kullanın, PIN ve ve doğrulamalar ekranda yapılır.

Desteklenen cihaz türleri

İkincil kullanıcı doğrulaması tüm cihaz türlerinde desteklenir.

Desteklenen cihaz özellikleri

İkincil kullanıcı doğrulama, tüm cihaz özellikleri için desteklenir.

Desteklenen sorgulama türleri

Desteklenen ikincil kullanıcı doğrulaması sorgulama türleri şunlardır:

  • Zorluk yok - İkincil kullanıcı doğrulaması sorgulaması.
  • ackNeeded: İkincil kullanıcı doğrulaması onay verebilir (evet veya hayır) ve özellik durumlarını yanıt geri bildirimi ekleyin. Bu giriş sorgulaması türü, güvenlik için önerilmez cihazlar ve özellikler.
  • pinNeeded - Bir ikincil kullanıcı doğrulaması güvenlik cihazları için ideal olan kişisel tanımlama numarası (PIN) çok önemli.
ziyaret edin.

Meydan okuma yok

Bu örnekte,EXECUTE biraz zorlandık.

Kullanıcı Işıkları aç.
Google Assistant Tamam, 3 ışığı açıyorum.
İstek
ziyaret edin.
{
  "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
          }
        }]
      }]
    }
  }]
}
Yanıt
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "commands": [{
      "ids": ["123"],
      "status": "SUCCESS",
      "states": {
        "on": true,
        "online": true
      }
    }]
  }
}

ackNeeded

Birden fazla durum kullanabilen ikincil bir kullanıcı onayı kimlik doğrulaması özellik veya basit onay kimlik doğrulaması için yapılıyor.

Aşağıdaki ackNeeded giriş sorgulaması türü vardır:

ackgerekiyor basit

Bu örnekte, ackNeeded sorgulaması içeren basit bir istek ve yanıt gösterilmektedir ışığı ve ışığı karartmayı onaylamalarını istiyoruz.

Kullanıcı Salonun ışığını kıs.
Google Assistant Salonun ışığı kısılıyor. Emin misiniz?
Kullanıcı Evet.
Google Assistant Salonun ışığı kısılıyor.
1. İstek
ziyaret edin.
{
  "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
          }
        }]
      }]
    }
  }]
}
Yanıt 1
ziyaret edin.
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "commands": [{
      "ids": ["123"],
      "status": "ERROR",
      "errorCode": "challengeNeeded",
      "challengeNeeded": {
        "type": "ackNeeded"
      }
    }]
  }
}
2. İstek
ziyaret edin.
{
  "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
          }
        }]
      }]
    }
  }]
}
Yanıt 2
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "commands": [{
      "ids": ["123"],
      "status": "SUCCESS"
    }]
  }
}

özellik durumlarıyla birlikte ackİhtiyaç duyuldu

Bir işlem için durumları kullanabilen ikincil kullanıcı onayı kimlik doğrulaması, çok önemlidir. Örneğin, menü tableti TemperatureSetting özelliği ve her ikisi thermostatMode ve thermostatTemperatureSetpoint ayarlandı, Assistant, Isıtmayı ayarlamak istediğinizden emin misiniz?" diye sorabilir. sıcaklık 28 dereceye kadar çıkıyor mu?

Ayrıca Assistant, belirtilen bir işleme dayalı olarak belirli bir işlem gerçekleştirir. isteğinde bulunabilirsiniz.

Aşağıdaki özellikler ve eyaletler, özellik durumlarıyla birlikte ackNeeded öğesini destekler. CEVAP özel bir özelliğin listelenmesi, tüm durumlarının desteklendiğini gösterir.

Bu örnekte, şunu içeren bir ackNeeded sorgulaması içeren istek ve yanıt gösterilmektedir: özellik durumu kullanır. Klima modunu ısıtma olarak değiştirir ve 28 dereceye. Ardından Assistant, kullanıcılara sorar ısıtmayı açma ve sıcaklığı 28 dereceye ayarlama onayı için 28 öğesinin thermostatTemperatureSetpoint değeri, durum olarak döndürüldüğünden dolayı derece kullanıcı olabilir.

Kullanıcı Klima modunu ısıtmaya ayarla.
Google Assistant Klimanın ısısını 28 dereceye ayarlamak istediğinden emin misin derece mi?
Kullanıcı Evet.
Google Assistantnt Klimanın ısısı 28 dereceye ayarlanıyor.
1. İstek
ziyaret edin.
{
  "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"
          }
        }]
      }]
    }
  }]
}
Yanıt 1
ziyaret edin.
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "commands": [{
      "ids": ["123"],
      "status": "ERROR",
      "states": {
        "thermostatMode": "heat",
        "thermostatTemperatureSetpoint": 28
      },
      "errorCode": "challengeNeeded",
      "challengeNeeded": {
        "type": "ackNeeded"
      }
    }]
  }
}
2. İstek
ziyaret edin.
{
  "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
          }
        }]
      }]
    }
  }]
}
Yanıt 2
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "commands": [{
      "ids": ["123"],
      "status": "SUCCESS",
      "states": {
        "thermostatMode": "heat",
        "thermostatTemperatureSetpoint": 28
      }
    }]
  }
}

pinNeeded

pinNeeded sorgulaması, güvenlik cihazları için önerilir.

Bu örnekte, pinNeeded içeren bir ilk istek ve yanıt gösterilmektedir isteyebilirsiniz. Örnek, pinNeeded sınaması içeren bir yanıt döndürür. Assistant, PIN'i istiyor. Bu noktada, kullanıcı yanlış veya geçerli bir PIN girin.

Yanlış veya geçerli PIN için örnek istek ve yanıt:

ziyaret edin.
Kullanıcı Kapının kilidini açın.
Google Assistant Güvenlik kodunu alabilir miyim?
İstek
ziyaret edin.
{
  "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
          }
        }]
      }]
    }
  }]
}
Yanıt
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "commands": [{
      "ids": ["123"],
      "status": "ERROR",
      "errorCode": "challengeNeeded",
      "challengeNeeded": {
        "type": "pinNeeded"
      }
    }]
  }
}

Yanlış PIN

Bu örnekte, challengeFailedPinNeeded içeren istek ve yanıt gösterilmektedir isteyebilirsiniz. Bu soru, ilk pinNeeded sorgulamasından sonra kullanılmalıdır başarısız oldu.

Bir challengeFailedPinNeeded türü döndürüldüğünde, Assistant, güvenlik kodunu tekrar istiyor. Kullanıcı çok fazla başarısız denemede bulunursa tooManyFailedAttempts döndürebilirsiniz. hata yanıtı. Hata yanıtları başlıklı makaleye göz atın.

Kullanıcı 333222
Google Assistant Maalesef güvenlik kodu yanlış. Güvenlik kodunu alabilir miyim?
İstek
ziyaret edin.
{
  "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"
          }
        }]
      }]
    }
  }]
}
Yanıt
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "commands": [{
      "ids": ["123"],
      "status": "ERROR",
      "errorCode": "challengeNeeded",
      "challengeNeeded": {
        "type": "challengeFailedPinNeeded"
      }
    }]
  }
}

Geçerli PIN

Bu örnekte, geçerli bir PIN isteği ve yanıtı gösterilmektedir.

Kullanıcı 333444
Google Assistant Kapının kilidi açılıyor.
İstek
ziyaret edin.
{
  "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"
          }
        }]
      }]
    }
  }]
}
Yanıt
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "commands": [{
      "ids": ["123"],
      "status": "SUCCESS",
      "states": {
        "isLocked": false,
        "isJammed": false
      }
    }]
  }
}
Kullanıcı Salonun ışığını kıs.
Google Assistant Güvenlik kodunu alabilir miyim?
İstek
ziyaret edin.
{
  "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
          }
        }]
      }]
    }
  }]
}
Yanıt
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "commands": [{
      "ids": ["123"],
      "status": "ERROR",
      "errorCode": "challengeNeeded",
      "challengeNeeded": {
        "type": "pinNeeded"
      }
    }]
  }
}

Hata yanıtları

Yanıtlarınızla birlikte döndürülebilecek bazı hata kodları şunlardır:

  • tooManyFailedAttempts - Maalesef çok fazla başarısız deneme yapıldı. Bu işlemi tamamlamak için lütfen cihazınızın uygulamasına gidin.
  • pinIncorrect - Maalesef güvenlik kodu yanlış.
  • userCancelled - Tamam

Tam listeye göz atın: hataları ve istisnaları ortadan kaldırın.