Sekundäre Nutzerbestätigung

Mit der sekundären Nutzerbestätigung können Sie die 2-Faktor-Authentifizierung für die Sprachsteuerung aktivieren . So können Sie die Sicherheit für bestimmte Aktionen erhöhen, z. B. das Ausschalten einer Überwachungskamera oder das Öffnen einer Tür Sekundäre Nutzerbestätigung ist nicht an eine bestimmte Geräteeigenschaft gebunden. So können Sie entscheiden, Google Assistant gibt eine Herausforderung aus. Sie können beispielsweise eine Herausforderung für das Merkmal OnOff für ein Sicherheitskamera, stellen aber keine Herausforderung für den OnOff Eigenschaft für ein Licht. Du kannst auch Assistant verwenden für dieselbe Aktion in bestimmten Situationen Herausforderungen stellen. Zum Beispiel haben Sie kann beantragen, dass Assistant eine Herausforderungsanfrage an eine Tür öffnen, wenn sich ein NFC-Schlüsselanhänger nicht in der Nähe dieser Tür befindet, aber nicht eine Abfrage senden, wenn der Schlüsselanhänger vorhanden ist.

Die Assistant kann zwei Arten von Identitätsbestätigungen ausgeben: ausdrückliche Bestätigung oder persönliche Identifikationsnummer (PIN) erhalten. Dadurch wird ein Blockierung der Identitätsbestätigung an die Intents QUERY und EXECUTE, die von Assistant an deine Aktion gesendet werden und einen challengeNeeded-Fehler akzeptieren Antwort. Assistant sendet die Intent-Anfrage dann an Ihre Aktion mit den Challenge-Daten im Challenge-Block durchführen. Sie können dann Daten zur Identitätsbestätigung validieren, um festzustellen, ob der Nutzer die richtigen Sicherheitsmaßnahmen angewendet hat Antwort.

Assistant verwendet ein Dialogfeld, um die Herausforderung zu senden, aber wenn Sie Verwende Assistant auf Geräten ohne Sprachsteuerung, PIN und Bestätigungen auf dem Bildschirm erfolgen.

Unterstützte Gerätetypen

Die sekundäre Nutzerbestätigung wird auf allen Gerätetypen unterstützt.

Unterstützte Geräte-Traits

Die sekundäre Nutzerbestätigung wird für alle Geräte-Traits unterstützt.

Unterstützte Arten der Identitätsbestätigung

Folgende Arten von Identitätsbestätigungen werden bei der sekundären Nutzerbestätigung unterstützt:

  • Keine Identitätsbestätigung: Eine Anfrage und Antwort, für die kein Sekundäre Nutzerbestätigung
  • ackNeeded – sekundäre Nutzerbestätigung, die Folgendes erfordert: ausdrücklich bestätigen („Ja“ oder „Nein“). Außerdem können Trait-Zustände Feedback geben. Diese Art der Identitätsbestätigung wird aus Sicherheitsgründen nicht empfohlen Geräte und Eigenschaften.
  • pinNeeded: eine sekundäre Nutzerbestätigung, die eine persönliche Identifikationsnummer (PIN), die sich ideal für Sicherheitsgeräte eignet und Eigenschaften.

Keine Herausforderung

Dieses Beispiel zeigt eine erfolgreiche EXECUTE-Anfrage und -Antwort ohne Herausforderung zum Einschalten des Lichts.

Nutzer Schalte das Licht ein.
Google Assistant Ok, ich schalte 3 Lampen ein.
<ph type="x-smartling-placeholder">
</ph> <ph type="x-smartling-placeholder">
</ph>
Anfrage
{
  "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
          }
        }]
      }]
    }
  }]
}
<ph type="x-smartling-placeholder">
</ph>
Antwort
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "commands": [{
      "ids": ["123"],
      "status": "SUCCESS",
      "states": {
        "on": true,
        "online": true
      }
    }]
  }
}

ackNeeded

Sekundäre Nutzerbestätigungsauthentifizierung, die mehrere Status verwenden kann für ein Merkmal oder eine einfache Bestätigungsauthentifizierung.

Es gibt die folgenden Arten von ackNeeded-Aufgaben:

ack Needed einfach

Dieses Beispiel zeigt eine einfache Anfrage und Antwort mit einer ackNeeded-Abfrage und die Bestätigung, dass das Licht gedimmt wird.

Nutzer Dimme das Licht im Wohnzimmer.
Google Assistant Das Licht im Wohnzimmer wird gedimmt. Sind Sie sicher?
Nutzer Ja.
Google Assistant Das Licht im Wohnzimmer wird gedimmt.
<ph type="x-smartling-placeholder">
</ph> <ph type="x-smartling-placeholder">
</ph>
Anfrage 1
{
  "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
          }
        }]
      }]
    }
  }]
}
<ph type="x-smartling-placeholder">
</ph>
Antwort 1
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "commands": [{
      "ids": ["123"],
      "status": "ERROR",
      "errorCode": "challengeNeeded",
      "challengeNeeded": {
        "type": "ackNeeded"
      }
    }]
  }
}
<ph type="x-smartling-placeholder">
</ph>
Anfrage 2
{
  "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
          }
        }]
      }]
    }
  }]
}
<ph type="x-smartling-placeholder">
</ph>
Antwort 2
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "commands": [{
      "ids": ["123"],
      "status": "SUCCESS"
    }]
  }
}

Mit Eigenschaftsstatus akzeptabel

Eine sekundäre Authentifizierung zur Nutzerbestätigung, die Statuswerte für eine Eigenschaft ist. Wenn Sie zum Beispiel mit dem TemperatureSetting Trait und beide thermostatMode und thermostatTemperatureSetpoint sind festgelegt, Assistant kann Folgendes fragen: Möchtest du die Heizung wirklich stellen? der Klimaanlage auf 28 Grad einstellen?

Sie können auch einen Bundesstaat in eine Antwort einfügen, Assistant führt auf Grundlage eines bestimmten

Die folgenden Traits und Status unterstützen ackNeeded mit Trait-Zuständen. A eines bestimmten Merkmals gibt an, dass alle zugehörigen Bundesstaaten unterstützt werden.

Dieses Beispiel zeigt eine Anfrage und Antwort mit einer ackNeeded-Abfrage, die einen Eigenschaftsstatus verwendet. Er schaltet den Modus der Klimaanlage auf Heizen und stellt den Temperatur auf 28 Grad einstellen. Anschließend werden die Nutzer von Assistant gefragt für die Bestätigung, die Heizung einzuschalten und die Temperatur auf 28 Grad einzustellen Grad, da ein thermostatTemperatureSetpoint von 28 als Zustand zurückgegeben wird in der Antwort angeben.

Nutzer Stell die Klimaanlage auf „Heizen“.
Google Assistant Möchtest du die Heizung der Klimaanlage wirklich auf 28 stellen? Abschlüsse?
Nutzer Ja.
Google Assistant Die Temperatur der Klimaanlage wird auf 28 Grad eingestellt.
<ph type="x-smartling-placeholder">
</ph> <ph type="x-smartling-placeholder">
</ph>
Anfrage 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"
          }
        }]
      }]
    }
  }]
}
<ph type="x-smartling-placeholder">
</ph>
Antwort 1
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "commands": [{
      "ids": ["123"],
      "status": "ERROR",
      "states": {
        "thermostatMode": "heat",
        "thermostatTemperatureSetpoint": 28
      },
      "errorCode": "challengeNeeded",
      "challengeNeeded": {
        "type": "ackNeeded"
      }
    }]
  }
}
<ph type="x-smartling-placeholder">
</ph>
Anfrage 2
{
  "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
          }
        }]
      }]
    }
  }]
}
<ph type="x-smartling-placeholder">
</ph>
Antwort 2
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "commands": [{
      "ids": ["123"],
      "status": "SUCCESS",
      "states": {
        "thermostatMode": "heat",
        "thermostatTemperatureSetpoint": 28
      }
    }]
  }
}

pinNeeded

Für Sicherheitsgeräte wird die Herausforderung „pinNeeded“ empfohlen.

Dieses Beispiel zeigt eine erste Anfrage und Antwort mit einem pinNeeded. Herausforderung. Das Beispiel gibt eine Antwort mit einer pinNeeded-Abfrage zurück. Assistant fragt nach der Markierung. An dieser Stelle können Nutzende eine falsche oder gültige PIN anzugeben.

Beispielanfrage und -antwort für eine falsche oder gültige PIN:

Nutzer Tür aufschließen.
Google Assistant Könnten Sie mir bitte den Sicherheitscode geben?
<ph type="x-smartling-placeholder">
</ph> <ph type="x-smartling-placeholder">
</ph>
Anfrage
{
  "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
          }
        }]
      }]
    }
  }]
}
<ph type="x-smartling-placeholder">
</ph>
Antwort
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "commands": [{
      "ids": ["123"],
      "status": "ERROR",
      "errorCode": "challengeNeeded",
      "challengeNeeded": {
        "type": "pinNeeded"
      }
    }]
  }
}

Falsche PIN

Dieses Beispiel zeigt die Anfrage und Antwort mit einem challengeFailedPinNeeded. Herausforderung. Dieser Wettkampf sollte nach der ersten pinNeeded-Herausforderung verwendet werden fehlgeschlagen.

Wenn ein challengeFailedPinNeeded-Typ zurückgegeben wird, Assistant fragt noch einmal nach dem Sicherheitscode. Wenn der Nutzer zu viele fehlgeschlagene Versuche führt, können Sie eine tooManyFailedAttempts Fehlerantwort. Siehe Fehlerantworten.

Nutzer 333222
Google Assistant Der Sicherheitscode ist leider falsch. Könnten Sie mir bitte den Sicherheitscode geben?
<ph type="x-smartling-placeholder">
</ph> <ph type="x-smartling-placeholder">
</ph>
Anfrage
{
  "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"
          }
        }]
      }]
    }
  }]
}
<ph type="x-smartling-placeholder">
</ph>
Antwort
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "commands": [{
      "ids": ["123"],
      "status": "ERROR",
      "errorCode": "challengeNeeded",
      "challengeNeeded": {
        "type": "challengeFailedPinNeeded"
      }
    }]
  }
}

Gültige PIN

Dieses Beispiel zeigt die Anfrage und Antwort einer gültigen PIN.

Nutzer 333444
Google Assistant Die Tür wird entriegelt.
<ph type="x-smartling-placeholder">
</ph> <ph type="x-smartling-placeholder">
</ph>
Anfrage
{
  "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"
          }
        }]
      }]
    }
  }]
}
<ph type="x-smartling-placeholder">
</ph>
Antwort
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "commands": [{
      "ids": ["123"],
      "status": "SUCCESS",
      "states": {
        "isLocked": false,
        "isJammed": false
      }
    }]
  }
}
Nutzer Dimme das Licht im Wohnzimmer.
Google Assistant Könnten Sie mir bitte den Sicherheitscode geben?
<ph type="x-smartling-placeholder">
</ph> <ph type="x-smartling-placeholder">
</ph>
Anfrage
{
  "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
          }
        }]
      }]
    }
  }]
}
<ph type="x-smartling-placeholder">
</ph>
Antwort
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "commands": [{
      "ids": ["123"],
      "status": "ERROR",
      "errorCode": "challengeNeeded",
      "challengeNeeded": {
        "type": "pinNeeded"
      }
    }]
  }
}

Fehlerantworten

Folgende Fehlercodes können zusammen mit Ihren Antworten zurückgegeben werden:

  • tooManyFailedAttemptsLeider sind zu viele Fehlversuche aufgetreten. Öffne die App auf deinem Gerät, um diese Aktion abzuschließen.
  • pinIncorrectDer Sicherheitscode ist falsch.
  • userCancelled - OK

Vollständige Liste der Fehler und Ausnahmen.