2017-04-01 1 views

Répondre

4

Pensez à Google Home de la même manière que vous le feriez pour un navigateur Web et une action identique à une page Web ou un site. Si vous souhaitez limiter l'accès des internautes à un site public sur Internet, vous êtes limité. Vous pouvez restreindre l'accès à certaines adresses IP, et cela fonctionnera dans certains cas - mais cela signifie que l'accès via des adresses IP non statiques n'est pas possible, et si (c'est-à-dire quand) une machine obtient une nouvelle adresse statique Adresse IP, vous avez beaucoup de travail à faire. De même, l'appareil Google Home peut envoyer une chaîne user_id aléatoire pour chaque utilisateur unique, et vous pouvez l'utiliser pour limiter les accès. Mais cette chaîne peut changer par l'utilisateur qui réinitialise son appareil Google Home, et quand c'est le cas, vous devrez faire face à cela.

Une meilleure solution sur le Web est de permettre aux utilisateurs de se connecter à votre site. De cette façon, vous pouvez avoir une page Web publique, mais seules les personnes ayant un compte peuvent y accéder. Vous pouvez déterminer comment distribuer des comptes, c'est donc très flexible. L'équivalent de Google Home est le Account Linking où vous conserverez un compte dans le cadre d'un système OAuth2 que vous contrôlez. Google Home vous demandera la permission d'accéder à votre système, et vous enverrez des jetons OAuth2 aux Actions - ces jetons vous seront transmis pour chaque requête, et vous pourrez vérifier que l'utilisateur y a accès.

Je suggère fortement d'aller avec le Authorization Code Flow puisque cela semble être là où Google se concentre sur la fourniture de fonctionnalités supplémentaires - telles que la signature de votre service via Google Home.

+0

Merci beaucoup pour votre réponse. Vous avez fait le processus d'autorisation clair pour moi. Je vais étudier le flux de code comme vous l'avez suggéré. – user2919910

+0

Heureux que cela vous a mis sur la bonne voie. N'hésitez pas à ouvrir de nouvelles questions si vous avez des problèmes en cours de route. Si vous trouvez la réponse utile, veuillez l'augmenter et/ou l'accepter. – Prisoner