2017-10-04 1 views
0

Les documents de liaison de compte pour les actions sur google indiquent que vous devez fournir un jeton d'actualisation pour le flux implicite - il ne mentionne pas si cela est requis pour les flux de code d'autorisation. Donc, si j'avais un point de terminaison qui produisait des jetons d'accès mais n'émettait pas de jetons d'actualisation (les jetons d'accès expirent mais je demande à un utilisateur de s'authentifier à nouveau dans cette instance - c'est une exigence de sécurité hors de mon contrôle) pouvons-nous toujours utiliser le flux du code d'autorisation dans cette instance?Actions sur le lien de compte Google sans rafraîchir les jetons ou utiliser le fournisseur tiers

Enfin comment cela fonctionnerait avec les fournisseurs de connexion tiers? Donc, si je propose Facebook Login sur mon application web, je ne recevrai pas non plus de jeton d'actualisation. Je sais que je peux obtenir un jeton Facebook étendu, mais encore une fois, il n'y a aucune garantie qu'un utilisateur utilisera mon action pendant que ce jeton est valide.

Dans les deux cas, retournons-nous simplement une erreur 401 non autorisée et cela invitera-t-il l'utilisateur à se reconnecter à partir d'une action google?

Répondre

0

Jetez un oeil à the Google Assistant Smart Home sample, qui utilise les codes d'autorisation. Lorsque le HomeGraph effectue une requête HTTP sur votre cloud, il le fait pour un utilisateur particulier. Il tente d'inclure un jeton, mais si le jeton a expiré, il envoie une nouvelle requête pour obtenir le dernier jeton d'accès.

+0

Mais cet exemple n'utilise-t-il pas également le jeton d'actualisation? Même les documents indiquent qu'un jeton d'actualisation doit être fourni même pour les flux de code d'autorisation https://developers.google.com/actions/identity/oauth2-code-flow#token_creation – TommyBs

+0

L'exemple possède une implémentation OAuth incluse qui fonctionne avec l'assistant. –

+0

Je ne dis pas qu'il n'inclut pas une implémentation OAuth. Je dis qu'il utilise également des jetons d'actualisation et ma question et mon commentaire concernent la façon dont je ne peux pas fournir un jeton d'actualisation, mais les docs en disent un nécessaire. – TommyBs