2

Je veux demander la différence entre la date d'expiration de l'objet tokens return de google et quand nous définissons les informations d'identification?Quelle est la différence entre la date d'expiration des jetons (Google OAuth2) et les informations d'identification?

oauth2Client.getToken(code, function (err, tokens) { 
 
    // Now tokens contains an access_token and an optional refresh_token. Save them. 
 
    if (!err) { 
 
    oauth2Client.setCredentials(tokens); 
 
    } 
 
});

// Retrieve tokens via token exchange explained above or set them: 
 
oauth2Client.setCredentials({ 
 
    access_token: 'ACCESS TOKEN HERE', 
 
    refresh_token: 'REFRESH TOKEN HERE' 
 
    // Optional, provide an expiry_date (milliseconds since the Unix Epoch) 
 
    // expiry_date: (new Date()).getTime() + (1000 * 60 * 60 * 24 * 7) 
 
});

Répondre

1

Je vais expliquer cela sans l'utilisation du nœud. C'est Oauth pur. Lorsque vous demandez à google d'accéder à un objet d'identification, il s'agit d'une réponse JSON qui ressemble à ceci.

{ 
"access_token" : "ya29.1.AADtN_VSBMC2Ga2lhxsTKjVQ_ROco8VbD6h01aj4PcKHLm6qvHbNtn-_BIzXMw", 
"token_type" : "Bearer", 
"expires_in" : 3600, 
"refresh_token" : "1/J-3zPA8XR1o_cXebV9sDKn_f5MTqaFhKFxH-3PUPiJ4" 
} 

Expires_in est la quantité de temps en secondes jusqu'à ce que le jeton d'accès expire. C'est une heure. Envoyer une date d'expiration dans votre demande au noeud ne va pas vous aider de quelque façon que ce soit. Google a décidé combien de temps le jeton d'accès est valable sur leurs serveurs, ce n'est pas quelque chose que vous pouvez changer.

Les jetons d'actualisation sont valables tant qu'ils ne sont pas supprimés par l'utilisateur.

+0

Vous vous trompez, j'ai mis la date expirée dans setCredentials pendant 10 secondes, après 10 secondes le jeton ne fonctionne pas. –

+0

C'est probablement quelque chose dans votre bibliothèque NodeJs. Vous utilisez un oauth2Client générique qui n'est pas spécifique à Google. La bibliothèque expire ce n'est pas Google. Si vous avez pris le jeton d'accès et l'avez utilisé sans votre bibliothèque, cela fonctionnera toujours. A moins que quelqu'un ne pense à ajouter une révocation à la bibliothèque dont je doute sérieusement. – DaImTo

+0

Vous le trouverez dans la bibliothèque https://github.com/google/google-api-nodejs-client/issues/261 Si vous le définissez sur faible, il l'expirera. – DaImTo