Shu*_*mse 2 actions-on-google google-home google-assistant-sdk dialogflow-es
我想在Google Home上开发一个应用程序(操作),它将向用户返回一些机密信息。因此,我无法基于帐户链接对用户进行身份验证,因为该设备可以被会议室中的任何人使用。如何从语音匹配配置文件中获取用户的唯一身份(可能是电子邮件ID)?
帐户链接绑定到说“ Ok Google”或“ Hey Google”的特定用户来调用您的操作。如果说出该声音的用户在他们使用的设备上没有注册的语音(他们是“匿名”用户),则他们将无法进行帐户链接。这听起来像您要达到的安全级别,但不清楚为什么您会另外考虑。
app.getUser().userId如果您使用的是node.js库,则可以通过使用获得用户的唯一身份(带有或不带有帐户链接)。但是,如果用户“匿名”在设备上(尚未完成语音注册,或者他们与注册的语音不匹配),则此身份将更改每个会话,因为无法确定用户是谁。
您无法获取用户的电子邮件ID。(而且,即使您可以,也希望它遵循与上面处理匿名用户类似的规则。)
更新以澄清“匿名”请求的含义:
用户首次设置Google Home设备时,系统会提示他们在该设备上注册语音匹配。注册他们的声音要求他们说几次“ Ok Google”和“ Hey Google”,以便建立声音模式。然后,此人说出的这些触发词将使其余的对帐单与其Google Assistant帐户相关联。如果他们已经完成了帐户链接到您的服务,那么他们的Google Assistant帐户(与他们的调用短语语音匹配)便已链接到您的服务。
可以允许其他用户注册设备的语音匹配。这样会将他们的调用短语语音与他们的Google Assistant帐户相关联。如果该用户已经完成了与您的服务的帐户链接,那么他们触发调用短语的语音将具有与其链接的帐户相关联的内容。
但是,如果有人在没有为该设备设置“语音匹配”的情况下使用“家”,该怎么办?调用短语仍然有效。他们仍然可以调用您的操作。但是,哪个助理帐户与之关联?
由于特定的家用设备不知道调用它并进行请求的人员,因此这是一个“匿名”用户。匿名用户无法执行帐户链接,因为没有与该请求关联的助手帐户。尽管提供了用户ID,但该ID对于每次会话都会更改,因为设备无法知道这次发出请求的匿名人员与上次发出请求的匿名人员相同。
但是,如果用户设置了家用设备,但根本没有设置语音匹配,会发生什么?出于安全原因,系统必须假定这实际上是共享设备,并且所有请求都必须匿名处理。
附加更新
上面讨论的“匿名UserID”已被弃用,并将在2019年5月删除。
现在,可以通过使用带有Google登录的帐户链接来获取用户的电子邮件地址(假设他们已将其注册为Google个人资料的一部分)。
从概念上讲,尽管某些细节可能已更改,但答案的其他部分可能仍然有效。
| 归档时间: |
|
| 查看次数: |
2823 次 |
| 最近记录: |