İ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ı değildir. Bu sayede, Google Assistant'ün ne zaman istem göndereceğine karar verebilirsiniz. Örneğin, OnOff özelliği için bir sorgulama giriş sorgulaması veya OnOff bir ışık özelliğidir. Ayrıca, aynı işlem için belirli durumlarda Assistant itirazda bulunabilirsiniz. Ö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, istek isteğini işleminize geri gönderir. Bu istek, itiraz bloğundaki itiraz verileriyle birlikte gönderilir. Ardından, kullanıcının doğru güvenlik yanıtını verip vermediğini belirlemek için istem verilerini doğrulayabilirsiniz.

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ğrulaması 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ğrulama zorluğu kullanmayan bir istek ve yanıt.
  • ackNeeded: Belirli bir onayı (evet veya hayır) gerektiren ve yanıt geri bildirimi olarak özellik durumlarını da kullanabilen ikincil kullanıcı doğrulaması. 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.

Meydan okuma yok

Bu örnekte, ışıkları açma isteğinin olmadığı başarılı bir EXECUTE isteği ve yanıtı gösterilmektedir.

Kullanıcı Işıkları aç.
Google Assistant Tamam, 3 ışığı açıyorum.
İstek
{
  "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

Bir özellik için birden fazla durum kullanabilen veya basit bir onay kimlik doğrulaması olan ikincil kullanıcı onay kimlik doğrulaması.

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

ackNeeded simple

Bu örnekte, ackNeeded sorgulaması içeren basit bir istek ve yanıt gösterilmektedir ışığı ve ışığı karartma onayını almak için.

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

Bir işlem için durumları kullanabilen ikincil kullanıcı onayı kimlik doğrulaması, çok önemlidir. Örneğin, TemperatureSetting özelliğiyle çalışıyorsanız ve hem thermostatMode hem de thermostatTemperatureSetpoint ayarlandıysa Assistant Klima sıcaklığını 28 dereceye ayarlamak istediğinizden emin misiniz? sorusunu sorabilir.

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

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

Bu örnekte, özellik durumunu kullanan bir ackNeeded istemiyle birlikte bir istek ve yanıt gösterilmektedir. Klima modunu ısıtmaya değiştirir ve sıcaklığı 28 dereceye ayarlar. Ardından Assistant, yanıtta 28 değerinde bir thermostatTemperatureSetpoint döndürüldüğünden kullanıcılardan ısıtmayı açmak ve sıcaklığı 28 dereceye ayarlamak için onay ister.

Kullanıcı Klima modunu ısıtmaya ayarlayın.
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.
İstek 1
{
  "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
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "commands": [{
      "ids": ["123"],
      "status": "ERROR",
      "states": {
        "thermostatMode": "heat",
        "thermostatTemperatureSetpoint": 28
      },
      "errorCode": "challengeNeeded",
      "challengeNeeded": {
        "type": "ackNeeded"
      }
    }]
  }
}
2. İstek
{
  "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 istem içeren ilk istek ve yanıt gösterilmektedir. Örnekte, pinNeeded meydan okuması içeren bir yanıt döndürülür. Bu nedenle Assistant, PIN'i ister. Bu noktada kullanıcı yanlış veya geçerli bir PIN sağlayabilir.

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

Kullanıcı Kapının kilidini açın.
Google Assistant Güvenlik kodunu alabilir miyim?
İstek
{
  "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 istem, ilk pinNeeded isteği başarısız olduktan sonra kullanılmalıdır.

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
{
  "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
{
  "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ı Oturma odasının ışığını kıs.
Google Assistant Güvenlik kodunu alabilir miyim?
İstek
{
  "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ı. Lütfen söz konusu işlemi tamamlamak için cihazınızın uygulamasına gidin.
  • pinIncorrect: Maalesef güvenlik kodu yanlış.
  • userCancelled - Tamam

Hataların ve istisnaların tam listesini inceleyin.