我想为Google Home设备构建一个Conversation Action并控制其访问权限。只有某些设备可以调用某些操作。一旦代理公开部署,如何才能做到这一点?
答案 0 :(得分:4)
将Google Home视为与网页浏览器相同的方式,以及与网页或网站相同的操作。如果您想限制哪些Web浏览器可以访问Internet上的公共站点,那么您将受到限制。
您可以限制对某些IP地址的访问,这在某些情况下会起作用 - 但这意味着无法通过非静态IP地址进行访问,并且如果(即 - 何时)计算机获得新的静态IP地址,你有很多工作要做。同样,Google Home设备可以为每个唯一身份用户发送一个随机user_id字符串,您可以使用此字符串来限制有权访问的用户。但是,此字符串可能会因用户重置其Google Home设备而发生变化,如果有,则必须处理此问题。
网络上更好的解决方案是允许用户登录您的网站。这样,您就可以拥有面向公众的网页,但只有拥有帐户的人才能访问。您可以确定如何分发帐户,因此这非常灵活。与Google Home相同的是Account Linking,您将在其中维护一个帐户,作为您控制的OAuth2系统的一部分。 Google Home会要求获得访问您系统的权限,并且您会向操作发出OAuth2令牌 - 这些令牌会在每次请求时传回给您,您可以验证该用户是否有权访问。
我强烈建议您使用Authorization Code Flow,因为这似乎是Google专注于提供其他功能的地方 - 例如通过Google Home注册您的服务。